Клуб API Карт

GeoObject or Placemark balloon + ajax ?

zbs2000
21 августа 2012, 09:22

Помогите пож. На яндекс картах выводятся метки: 

myGeoObjects1[0] = new ymaps.GeoObject({
                                        geometry: {type: "Point", coordinates: [51.50, 32.73]},
                                        properties: {
                                        clusterCaption: 'Геообъект No1',
                                        balloonContentBody: 'Содержимое балуна геообъекта No1.'
                                       
                                            }
                                        });

 

myGeoObjects1[2] = new ymaps.GeoObject({
                                        // Описываем геометрию типа "Точка".
                                        geometry: {type: "Point",coordinates: [56.75, 38.61]},
                                        // Описываем данные геообъекта.
                                        properties: {
                                        hintContent: "Москва",
                                        balloonContentHeader: "Москва",
                                        balloonContentBody: "Столица России",
                                        population: 11848762
                                        }
                                        }, {
                                        // Задаем пресет метки с точкой без содержимого.
                                        preset: "twirl#redDotIcon",
                                        // Включаем возможность перетаскивания.
                                        draggable: true,
                                        // Переопределяем макет содержимого нижней части балуна.
                                        balloonContentFooterLayout: ymaps.templateLayoutFactory.createClass('население: $[properties.population], координаты: $[geometry.coordinates]'),
                                        // Отключаем задержку закрытия всплывающей подсказки.
                                        hintHideTimeout: 0
                                        });
                                        // Добавляем геообъект на карту.
                                        // geoMap.geoObjects.add(myGeoObject);

 

 

// my_geo_1 = new YMaps.Placemark(new YMaps.GeoPoint(50.48, 30.74)) ;
                //                        YMaps.Events.observe(placemark, placemark.Events.Click, function () {
                //                        placemark.setBalloonContent("Загружаю");
                //                        console.log('placemark was clicked');
                //                        }, my_map);

 

 

 

Все работает - метки выводятся. Теперь хочется через AJAX наполнить их balloon. Может кто знает варианты как это сделать? Серверную сторону можно сильно не расписывать, там ориентировочно обработчик выдает текст HTML через echo и записывает в div на балуне. Если можно и лучше по другому - то подскажите пож как. А в моем варианте не знаю как подвешивать запрос на метку чтобы он выполнялся при нанесении метки и \ или еще лучше при клике на метку и старте балуна. Помогите пож.

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

Посмотрите, пожалуйста, вот эту статью в блоге API.

Спасибо за пример пробую с ним разбираться. Только он для начала понимания слишком навороченый. Я на него набрел сегодня раз уже. После этого решил сюда написать. Просто там jQuery немного смущает. Без него нету примера?

Вы можете заменить загрузку данных с помощью jQuery на свою

Это упрощенный код примера (без jQuery) имитирующий реальную загрузку контента и заменяющий содержимое балуна метки через 3 сек 

Замените вызов setTimeout на вызов вашего обработчика получения данных

setTimeout(function () { // Имитация задержки при загрузке данных

    // Обновляем поле "body" у properties метки
    placemark.properties.set('body', '_новый_контент_балуна_полученный_AJAX-ом_');
}, 3000);

 

 

О спасибо. Сейчас пойду пробовать