Клуб API Карт

экспорт-импорт меток в JavaScript API Яндекс-карт

rbnc
18 января 2011, 18:02
Добрый день!
С помощью JavaScript API Яндекс-карт оздана карта отделений компании и размещена на сайте. Отделений много и каждое содержит в метке режим работы, который часто меняется. Подскажите, пожалуйста, есть ли готовое решение по экспорту всех отделений в csv файл для массового редактирования и импорта обратно?
14 комментариев
Подписаться на комментарии к посту
вопрос немного не корректно поставлен.
Достаточно сложно создать на основе меток csv файл - требуется пройтись по всем меткам и "ручками" выташить те значения которые вы до этого туда положили.
Хотя если речь идет только о названии, координатах и описании - опять же работы минут на 10.

В тоже время создать метки по данным из csv очень даже просто.

Лучше покажите пациента, найдем оптимальное решение.
Пациента пока показывать нельзя, но вот очень похожий проект: http://cards.masterbank.ru/common/googleMap.php?id=4054
Такс, что же вам требуется?
Чтобы список можно было держать в экселе, и там редактировать, или чтобы можно было редактировать в браузере, но держать всеравно в экселе?
держать и редактировать в экселе, а потом импортировать в систему
окей, тогда обший вид будет как

YMaps.jQuery.ajax({
 url:'path-to-file',
 success: function(data){
   var rows = data.split("\n");
   for(var i in rows){
     var colls=rows[i].split(";");//или другой символ разделитель
     далее будем считать в что colls[0] - номер, [1] - наименование, 2 и 3 - координаты, все что далее - описание. Его склииваем в одну строку( чтобы не мучиться подсчетом кавычек в первичном разборе)
     var placemark...
     .. где-то тут мы устанавливаем в плейсмарк данные текущей строки и добавляем его на карту..
   }
 }
});

В принципе - это все
очень интересно!
т.е. в url мы подставляем урл файла, в котором лежит таблица?
а в var placemark... мы что вписываем?
1. конечно же да
2. там обычное создание плеймарка. Также как вы это делаете сейчас. Только данные лежат в colls
Сейчас я делаю так:
    var ml = new YMaps.YMapsML("http://maps.yandex.ru/export/usermaps/......./");
    map.addOverlay(ml);
 
Наверное лучшим решением будет хранить информацию об отделениях на сервере в БД.
и редактировать там же.

А в javascript ее только выводить.
Было бы хорошо хранить ее в одном месте и редактировать там, но ее  формат должен быть понятен рядовому пользователю без знаний xml,  javascript и прочего. В идеале - это была бы таблица csv
Ну допустим пользователь ее отредактирует, закроет браузер,
и всё пропадет?

почему пропадет?
Возможно, что вам удобно будет использовать сервис Мои карты. Правда, в этом случае вам необходимо будет менять данные только через сервис Мои карты.

Если данные меняются через какой-то интерфейс (админку) и хранятся в вашей базе, то следуйте совету Лунного программиста.
Мои карты не подходят, т.к. это ручной способ, который очень трудоемок