Клуб API Карт

адрес для объекта в Ymapsml

Пост в архиве.

Добрый день.

Каким образом можно в примере

http://api.yandex.ru/maps/ymapsml/examples/styleobject.html

для поля

<gml:pos>37.561598 55.692394</gml:pos>

задавать значение не в виде координат, а в виде адреса, например: ул. Тверская 7

Использовать геокодер? он возвращает XML, его, конечно, можно обрабатывать, но наверняка существует более элегантный способ, посоветуйте пожалуйста.


6 комментариев
А зачем вам там писать адрес? YMapsML это по сути статика. Определите один раз руками координаты и впишите в файл. Или вы думаете что потом для данного адреса координаты могу поменяться?
Михаил Типцов
28 января 2016, 08:12
YMapsML это по сути xml, статика это физика :)

Представим базу объектов недвижимости - 10000 адресов.
Вот знаете представил я базу объектов недвижимости на 10 тыс. адресов в YMapsML и мне немного страшно стало. Вы что серьезно считаете что посетителям вашего сайта нужно сразу знать информацию о всех объектах и они готовы ждать пока загрузится этот большой файл и все объекты отрисуются? Я одного не пойму, почему все сразу же начинают использовать YMapsML, а потом хотят на этой основе твоирть какие-то "чудеса" :). Что мешает использовать JavaScript API? При добавлении объекта, сделал геокодирование по адресу и сохранил в базе помимо адреса еще и координаты. А когда нужно показать объекты, сделал выборку, отобрал то что нужно и показал. Просто ведь все.
Михаил Типцов
28 января 2016, 08:12
10000 объектов отображать никто не будет. Это к вопросу ручного проставления координат.

С помощью жаваскрипт решать вопрос геокодирования можно, но у меня много объектов, поэтому решение отобразить их с помощью YMapsML мне показлось более разумным.

Значит, вы считаетете, что ваш вариант будет быстрее работать? особенно в плане последующей груповой работы с объектами? если все-же попытаться ответить именно на мо вопрос - есть решение?
Фомируйте YMapsML динамически, включая только те объекты, которые попадают в актуальную область видимости карты (или которая чуть шире).

Также можете воспользоваться диспетчером объектов, который даст выйгрыш в производительности, скрыв объекты вне актуальной области видимости карты.
В YMapsML можно задавать только координаты объектов.

Если у Вас есть некоторая база адресов, то Вы можете получить координаты объектов с помощью http-геокодера. Таким образом геокодирование будет произведено на стороне сервера и полученные координаты легко закэшировать.

А уже потом будете формировать YMapsML, подставляя нужные координаты для объектов.