На самом деле, мой вопрос немного о другом:
Столкнулся с такой проблемой - необходимо генерировать(создавать) метки на карте.
Координаты метки и доп. информация берется из БД. Это я сделал, с этим проблем нет.
Но вот проблема появилась при изменении контента когда открывается балун.
Теперь чуть по подробней:
В общем суть такая - есть карта, на ней отмечены города, при клике на метку, открывается балун, в балуне показывается погода в этом городе. Т.е. при каждом клике метку, в балуне должн обновляться контент.
Раньше для каждой метки я создавал отдельную переменную и с обновление контента проблем не возникало. Теперь у меня метки автоматически генерируются и возникла проблема с обновлением в каждой метки информации.
function createPlaceMark(obj){ // функция для создания меток
for (var i = 0; i <= obj.length - 1; i++) {
myPlacearkArray[myPlacearkArray.length] = new ymaps.Placemark([obj[i].coordX,obj[i].coordY], {
iconContent: "Узнать погоду",
balloonContentHeader: obj[i].cityText.toString(),
balloonContentBody: "<a>идет загрузка погоды на сегодня</a>",
balloonContentFooter: 'много html кода'
},{preset: "twirl#blueStretchyIcon"});
myMap.geoObjects.add(myPlacearkArray[i]);
}
return myPlacearkArray; //на это не оброщайте внимание
}
//Создавалась метка вручную
myPlacemarkNSK = new ymaps.Placemark([55.05385417, 82.88576487], {
iconContent: "Узнать погоду",
balloonContentHeader: "Новосибирск",
balloonContentBody: "<a>погода на сегодня</a>",
balloonContentFooter: '<input type="button" onclick="pogoda(\'nsk\',\'current\')" value="Сегодня"> <input type="button" onclick="pogoda(\'nsk\',\'w3day\')" value="На 3 дня"> <input type="button" onclick="pogoda(\'nsk\',\'w10day\')" value="На 10 дней">'
},{preset: "twirl#blueStretchyIcon"});
//И вот так вот обновлялся в ней контент при открытии (я просто взял пример из документации и чуть чуть переделал для себя)
myPlacemarkNSK.events.add('balloonopen', function (e) {
OpenPlacemark(myPlacemarkNSK,'nsk','current');
});
Вопрос: Как мне реализовать вот это "myPlacemarkNSK.events.add
Пробовал в цикле for (который создает метки) добавлять myPlacearkArray[i].events.add('balloonopen', function (e) {
OpenPlacemark(myPlacearkArray[i], obj[i].cityName.toString(
});
На что JS естственно ругался.
P.S. Помогите Христа ради =)