Клуб API Карт

Заголовок не указан

i-404
12 июня 2009, 22:10

Собственно есть карта с загруженной xml.

http://www.varzamase.ru/business/?category_id=1301

Если кликнуть на синий указатель, появляется baloon с названием фирмы и адресом. Собственно хочется инициировать данное действие при клике на адрес в списке фирм.

Посмотрел openBaloon, что то он мне не понравился тем, что нужно заново объявлять контент и точку балуна.

Получается дублирование данных.

18 комментариев
Подписаться на комментарии к посту
Есть пример создания пользовательских оверлеев. Вам нужно действовать по аналогии с обычными метками.
не совсем как с обычными метками.. там создаются свои оверлеи.. там же и нужно прописывать что делать при клике .. и прочее .. но зато удобно сразу для всей коллекции меток, что добавлены через свою функцию с использованием своего оверлея.
Неправильно выразился, я имел ввиду, что нет необходимости создавать свой класс оверлея, а можно воспользоваться готовым, т.е. метками (YMaps.Placemark).
импортировал я с помощью $.getScript через jquery
а в скрипте строил массив с хешем
потом его перебирал и добавлял свои оверлеи
Интересно. Обязательно посмотрю.
постраничный вывод сделай загрузкой через ajax, ибо удобнее и не особо сложно
Спасибо, сразу как то и не подумал.
Присвойте каждому объекту уникальный id и по нему связывайте точку и элемент списка. Найти точку по id можно так:
var org = ymapsml.filter(function (obj) {return obj.id == 'искомый id'})[0];
// если нашли объект
if (org) {
   // открываем его балун
   org.openBalloon()
}

В принципе можно искать не по id а по соответствию названия и адреса фирмы.
Как можно присвоить ID элементам, если я загружаю их через XML?
Можно id записать, например, в тег metaDataProperty в xml.

А т.к. YMapsML-документ, добавленный на карту, представляет из себя YMaps.GeoObjectCollection, то можно в xml не указывать id, а просто перебрать элементы GeoObjectCollection и построить правое меню.

Кстати, есть пример, но правда, для работы с группами объектов.
В схеме YMapsML для всех GeoObject и GeoObjectCollection уже предусмотрен атрибут id, так что лезть в metaDataProperty точно не нужно. При загрузке документа его значение попадает в поле id, которое есть у всех гео-объектов.
Спасибо!
Построение меню из GeoObjectCollection хорошая идея! Спасибо за совет!
При генерации ymapsml добавьте каждой фирме id, тот же id передайте на страницу при построении списка (если фирмы лежат в базе данных он у вас точно есть).
Или как предложил hevil стройте список фирм прямо на основе данных из xml, тогда вы сможете связать список и метки напрямую без id.