Клуб API Карт

Как преобразовать YMapsML объекты в XML формат?

purgenetik
21 марта 2011, 04:00

Каким образом можно преобразовать созданные в API YMapsML объекты в XML код, который потом можно сохранить и использовать для обратной загрузки в API?

Везде в примерах приводится операция XML -> YMapsML, например тут http://api.yandex.ru/maps/ymapsml/examples/exportusermap.html, но как решить обратную задачу: созданы объекты и маршруты на карте - нужно выгрузить это наружу для сохранения?

"Мою карту" выгрузить можно (через  http://maps.yandex.ru/export/usermaps/mapID), как это сделать через API?

Конкретная задача: нужно выгрузить маршрут, построенный Router-ом, в формате XML или любом другом, который позволил бы позже загрузить и нарисовать этот маршрут без повторного обращения к геокодеру и маршрутизатору. Конвертация в JSON (через JSON.stringify(router)) не проходит - ( ошибка: too much recursion)

В руководстве языка (http://api.yandex.ru/maps/ymapsml/doc/guide/concepts/usage.xml) написано, что YMapsML - удобное способ хранения информации, но удобство какое-то одностороннее, как из готового xml файла загрузить YMapsML  объекты - сказано, а как осуществить обратную операцию - нет. Можно, конечно, ручками это все делать, но о каком удобстве тогда можно говорить?

2 комментария
Подписаться на комментарии к посту

В API отсутствуют средства по импорту в xml-формате.

Вам нужно сгенерировать необходимый json, отправить его на свой сервер, а там создать YMapsML. Другого пути в настоящий момент нет.

многие ГИС умеют работать с YMapsML, в т.ч. с командной строки

опробовано на QGIS, работает замечательно