Как сделать чтоб каждая метка при ховере брала свою картинку?
Добавляю на карту метки и для каждой своё изображение для метки и для ховера тоже. У меня при наведении на любую метку изображение ставиться одно и тоже. Как сделать чтоб у каждой метки своё брала?
var myCollection = new ymaps.GeoObjectCollection({});
for (i in data.item) {
var layout = ymaps.templateLayoutFactory.createClass('<div><img src="..."/></div>');
var layout_hover = ymaps.templateLayoutFactory.createClass('<div><img src="..."/></div>');
var myPlacemark = new ymaps.Placemark([lat, lng], {...}, {
iconLayout: layout,
iconShape: {
type: 'Circle',
coordinates: [0, 0],
radius: 25
}
});)
myPlacemark.events
.add('mouseenter', function (e) {
e.get('target').options.set("iconLayout", layout_hover);
})
.add('mouseleave', function (e) {
e.get('target').options.set("iconLayout", layout);
});
myCollection.add(myPlacemark);
}
myMap.geoObjects.add(myCollection);
Похоже берёт layout последний который в цикле. |
milov,
замените for на forEach |
Цитата:
|
на карту выводится правильно, у каждой метки своя картинка. Проблема с событиями mouseenter mouseleave
|
milov,
где код? |
код в первом посте.
сделать в jsfidle ? |
milov,
forEach сделайте :-? |
milov,
var myCollection = new ymaps.GeoObjectCollection({});
data.item.forEach(function(el, i) {
var layout = ymaps.templateLayoutFactory.createClass('<div><img src="..."/></div>');
var layout_hover = ymaps.templateLayoutFactory.createClass('<div><img src="..."/></div>');
var myPlacemark = new ymaps.Placemark([lat, lng], {...}, {
iconLayout: layout,
iconShape: {
type: 'Circle',
coordinates: [0, 0],
radius: 25
}
});
myPlacemark.events
.add('mouseenter', function (e) {
e.get('target').options.set("iconLayout", layout_hover);
})
.add('mouseleave', function (e) {
e.get('target').options.set("iconLayout", layout);
});
myCollection.add(myPlacemark);
})
myMap.geoObjects.add(myCollection);
|
рони,
именно так и сделал. проблема осталась как я и писал выше. |
milov,
больше идей нет. |
| Часовой пояс GMT +3, время: 07:16. |