Клуб API Карт

Ошибки при работе с линейкой и маршрутизатором (не создаются объекты canvas)

Пост в архиве.
xenohunter
5 августа 2013, 23:02

Здравствуйте!

Возникла ошибка при попытке создания маршрута: не создаётся объект canvas внутри тега ymaps.graphics-canvas, следовательно, линии не отображаются и при обращении к нему генерируются ошибки, связанные с невозможностью присвоения свойств несуществующему объекту. Следом - перестаёт работать сама карта (нет отклика на обращение к методам). Такая же проблема - с линейкой и прочими возможностями, реализованными через canvas.

API подгружается через require.js; в проекте используется angular.js.

9 комментариев

а можно ссылку на страницу?

+ что выдает консоль?

Ссылку дать не получится, поскольку проект в разработке и ещё не размещён в интернете.

Консоль выдаёт следующее:

 

Uncaught TypeError: Cannot set property 'position' of null

[ combine.xml?modules=2=3s4(3a3S3j3d3p!J@Y!K!z!D!G45426w@!3z!H6B6D6A8g5b!b!d8…$8G7!1q0-2}1{0B2I2J0S1]0o1`1M6*4k!_759$9476&jsonp_prefix=ymaps2_0_32:31542 ]

 

Uncaught TypeError: Cannot read property '0' of undefined

[ combine.xml?modules=2=3s4(3a3S3j3d3p!J@Y!K!z!D!G45426w@!3z!H6B6D6A8g5b!b!d8…$8G7!1q0-2}1{0B2I2J0S1]0o1`1M6*4k!_759$9476&jsonp_prefix=ymaps2_0_32:54389 ]

 

Uncaught TypeError: Cannot read property '0' of undefined

[ combine.xml?modules=2=3s4(3a3S3j3d3p!J@Y!K!z!D!G45426w@!3z!H6B6D6A8g5b!b!d8…$8G7!1q0-2}1{0B2I2J0S1]0o1`1M6*4k!_759$9476&jsonp_prefix=ymaps2_0_32:54389 ]

 

Uncaught TypeError: Cannot call method 'getCurrentState' of null

[ combine.xml?modules=2=3s4(3a3S3j3d3p!J@Y!K!z!D!G45426w@!3z!H6B6D6A8g5b!b!d8…$8G7!1q0-2}1{0B2I2J0S1]0o1`1M6*4k!_759$9476&jsonp_prefix=ymaps2_0_32:70146 ]

Подключите API в режиме mode=debug (http://api.yandex.ru/maps/doc/jsapi/2.x/dg/concepts/load.xml) Ошибки станут более понятными. Можно будет посмотреть, где именно вылетает и пробежаться по коллстеку.

Без кода сейчас сложно что-либо сказать.

Уже подключали, не помогает (то есть, докопаться не смогли). Ошибка происходит в функции setCss:

function setCss (element, propertyName, propValue, preventPatchCss) {
  var propName = checkProperty(propertyName);
  if (!propName) {
    if (!preventPatchCss) {
      return patchCss(element, propertyName, propValue, true);
    }
    return false;
  }

  if (typeof propValue === 'undefined') {
    //IE
    element.style.removeAttribute && element.style.removeAttribute(propName, false);
    //не IE
    element.style.removeProperty && element.style.removeProperty(propName);
  }
  else {
    element.style[propName] = propValue;
    Uncaught TypeError: Cannot set property 'position' of null // ошибка
  }
  return true;
}

До setCss вызовы проходят по функциям objectKeys_css, imports.util.augment.createHolder, basePane.holder, basePane.resize, basePane.render, basePane.flush, canvasPane.renderGroup, canvasPane.process, canvasPane.place.

Собственно, эта ошибка возникает при попытке использовать линейку или установить маршрут, а остальные три появляются при попытке взаимодействия с картой (зум, перемещение), после чего карта блокируется.

Какую версию вы используете?

Пробовали подключать и 2.0, и 2.0-stable.

В 2.0 линейка работает, насколько я вижу. Возможно какой-то конфликт с подключаемыми библиотками. Вы пробовали их отключать?

Всё, нашли проблему: был конфликт с Sugar.js 1.3. Поставили 1.3.9 - всё заработало.

Спасибо за помощь!