Клуб API Карт

Открыть балун, созданный в YMapsML, по клику на ссылке

greenight
18 февраля 2011, 09:47

Добрый день, подскажите как можно сделать следующее:

http:// jivitut.ru/offers/flat/

Объекты на карте формируются с помощью YmapsML-файла.

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

Смотрел примеры с динамическим созданием списка объектов через JS (тут), но вот как это применить к выводу через PHP так и не понял...

3 комментария
Подписаться на комментарии к посту
Чтобы это сделать надо связать каждую метку в YMapsML-файле с соответсвующей ссылкой. Можно раздать всем плейсмаркам аттрибут id:
 

...




Потом в ссылке печатать вызов функции, которая будет искать метку с этим id и открывать для нее балун показать на карте
 
показать на карте

 Спасибо, заработало! Сделал вот так - может и не оптимально правда.

 function openBalloonById(object_id){
                // Создание диспетчера объектов
                var objManager = new YMaps.ObjectManager();
    
                // Обход всех элементов YMapsML-документа
                ml.get(0).forEach(function (obj) {
                    if(obj.id == object_id) {
                        obj.openBalloon();
                    }
                });
            }
В принципе так, правда не понял зачем вам тут диспетчер объектов.
 
Ну и наверное лучше использовать метод filter вместо forEach

ml.filter(function () { return this.id == object_id })[0].openBalloon();