Клуб API Карт

Как правильно разместить на странице две карты?

anatoly-kirsanov
6 июля 2016, 18:47

Получаю ошибку "InvalidStateError: An attempt was made to use an object that is not, or is no longer, usable combine.xml:1:0"

Работаю с JS API версии 2.0. Обе карты создаются в обработчике события ymaps.ready

Первая карта простая, на ней всего три точки (балуны), устанавливается центр и границы. С ней проблем нет.

Вторая карта сложнее. На ней используется геокодирование, загрузка объектов карты из XML, создание для этих объектов (многоугольники) балунов, свой провайдер происка.

Вторая карта создается после всех манипуляций по первой. Я не знаю как гарантированно вызвать ее создание после окончания всех асинхронных шагов по первой карте. Если только не использовать "промисы" для всех вызовов. Но для geoObjects.add такой возможности нет, а для setBounds я уже безрезультатно использовал callback.

Ошибка возникает после получения полигонов из XML и добавления их на карту, в процессе их перебора в myMap.geoObjects.each и добавления балунов myMap.geoObjects.add. При одной карте на странице проблем с этим кодом не было. Отсюда вопрос насчет двух карт.

В документации я видел пример с двумя картами, но там все намного проще.

Добавлено: От второй карты на проблемной странице я избавился. Но проблема с ошибкой осталась. Причем только в Firefox ESR 45.2.0 на Linux.