Клуб API Карт

Обновление иконки метки без перезагрузки карты

culniga
27 апреля 2012, 21:18

Подскажите как реализовать обновление иконки метки на Яндекс карте без перезагрузки карты?
Задача: по клику на метку появляется блок описания, в котором есть кнопка добавления в избранное, по клику на которую и должна происходить смена значка.

Такое реализуемо?

Нашел пример в котором на Hover метки меняет значек, но как реализовать смену на свою функцию я не понял (


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

Это реализуемо. Вам нужно в обработчике события перезадавать опции для метки и она обновится.

Любое изменение опций настройки отображении метки мгновенно эту метку изменит.

Под маком+сафари после выполнения
if (data.objects && typeof(map) !== "undefined") {
for (var i = data.objects.length-1; i >= 0; i--) {
var coords=data.objects[i].object_coordinates.split(',');
var coordsInt = [];
coordsInt[0] = parseFloat(coords[0]);
coordsInt[1] = parseFloat(coords[1]);
placemarks2[i] = new ymaps.Placemark(coordsInt,{
/*balloonContentHeader: "<div class='baloon-heading'>"+data.objects[i].object_name+"</div>",
balloonContentBody: "<p><strong>"+data.objects[i].object_addres+"</strong></p> <img src='"+data.imgFolder+data.objects[i].image_name+"' class='map-rouded-img' alt='' width=140 height=140 />",
balloonContentFooter: "<a href='/offices:"+data.objects[i].object_id+"'><div class='baloon-more'>Подробнее &gt;</div></a>",*/
balloonContent: '<div class="balloon-wrap"><div class="balloon-heading">'+data.objects[i].object_name+'</div>\
<div class="balloon-adres"><span class="glyphicon glyphicon-map-marker"></span> '+data.objects[i].object_addres+'</div>\
<div class="balloon-img"><img src="'+data.imgFolder+data.objects[i].image_name+'" alt="" /></div><div class="clearfix"></div>\
<a href="/offices:'+data.objects[i].object_id+'">Подробнее &gt;</a></div>',
hintContent: "<div class='baloon-heading'>"+data.objects[i].object_name+"</div><p><strong>"+data.objects[i].object_addres+"</strong></p>"
},marker);
map.geoObjects.add(placemarks2[i]);
};
};
Изменения применяются только есть карту подрагать, иначе не обновляются.