Клуб API Карт

Добавление GeoObject на две карты

Пост в архиве.
grandresurs
27 апреля 2012, 13:20

Я отрисовываю 2 карта на странице.

Создаю 2 placemarka.

Делаю map1.geoObjects.add(place) и map2.geoObjects.add(place)

И при этом метка с первой карты пропадает, и остается на последней.

Почему так? Я не могу использовать один объект на двух картах?

3 комментария

не можете.

Геообъект реализует интерфейс IParentOnMap

и может иметь только одного родителя.

метод getMap всегда возвращает только одну карту, а не массив карт.

 

Кстати, в первом АПИ у геообъектов был метод copy.

У нас вообще-то изначально данная возможность зачем-то планировалась.

Почти что до победного конца можно было одну геометрию задать двум геообьектам на разных картах и таким образом синхронизировать.

Мое ИМХО что слава богу оторвали.

Вопрос в продолжение темы:

Если склонировать GeoObject (например средствами jQuery.extend), то тоже не получится добавить копию на вторую карту ?

Вобщем-то я уже все это испробовал и понял, что нельзя.

Но непонятно почему полная копия объекта (JS) какими-то свойствами ссылается на один оригинал, что не позволяет получить копию геометрии.

 

Кейс, в котором я это рассматриваю удобным:

Иметь несколько карт для отображения разной информации для Регионов.

Один раз подгрузить регионы (ymaps.regions.load()).

Далее добавлять на карты клоны, чтобы снова не подтягивать данные по геометрии регионов.

Карты могут распологаться в разных местах single page application.