Клуб API Карт

Скопировать всю карту

azat.khuzhin
28 ноября 2010, 19:43

Есть ли возможно скопировать всю карту в другую?

Включая, объект (маркеры, линии и т.д.) и все св-ва (масштаб и т.д.)

 

Или хотябы только объекты?

7 комментариев
Подписаться на комментарии к посту
уточните вопрос: укажите из какой карты и в какую.
А то разные варианты могут быть - тут вам не здесь!
Но в любом случае ответ - можно.
Из существующий в новую
То есть создать копию.

К примеру есть какая-то в div#map1 и я добавил там метки, и все такое.
А потом мне нужно создать дубликат и поместить его в div#map2

И желательно чтобы при изменение карты в div#map2, карта которая находиться в div#map1 не изменялась

Если есть такая возможность, вы не могли бы написать, как я ее могу реализовать?
Обе карты находятся у вас на сайте.
Чем и как редактируется первая карта?

В вашем случае самым простым вариантом является перекидывае маркеров из одной карты в другую в виде html кода - те узлами дом дерева.
Но не будем так жестоко поступать.
Все что требуется это повторить тот код который создал обьекты на одной карте в инициализации другой карте..

Так что теперя я спрашиваю - чем карту создаем и редактируем :)
С повторением кода понятно что можно создать такую же карту, это гемор продублировать весь код используемый для создания/редактирования карты, я думал без него можно.
Чем же еще js'ом, или я не так понял вопрос?
укажите ваши цели и задачи.
Слишком много вариантов могу я вам предложить.

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

Вариант два(он наверное даже проще) - вынесите создание обьектов в фунцию, один из параметров которой - карта.
Вызваете эту функцию хоть 10 раз, передавая тута 10 различных карт, и получается постоянно одно и тоже.
Самый простой вариант - это все ваши объекты и область показа карты записать в YMapsML. В этом случае перенос объектов с одной карты на другой будет заключаться в отображении YMapsML на карте (а это одна строчка кода):

map.addOverlay(new YMaps.YMapsML("url"));

Подробнее о YMapsML можно почитать в руководстве разработчика:
http://api.yandex.ru/maps/ymapsml/doc/guide/concepts/About.xml
А можно ли текущую карту сохранить как объект YMaps.YMapsML ?

То есть существует какая-то карта, на ней куча объектов, и всех их сохранить в этот объект