Бьюсь над проблемой и ни как не могу найти решение:
Есть координаты маркеров и доп. инфа, которая должна отображаться в момент клика по маркеру, но в моем случае доп инфа отображается только о последнем маркере, на всех маркерах. Т.е. например в цикле я создаю маркер и вешаю событие на функцию, но как я понимаю, событие "пропишется" только тогда, когда произойдет вызов его и получается так, что в функцию заносятся данные, которые были последние в цикле. Вот цикл из функции:
Код: Выделить всё
for (i = 0; i<response.data.length; ++i)
{
var size = new OpenLayers.Size(21, 25);//размер картинки для маркера
var offset = new OpenLayers.Pixel(-(size.w / 2), -size.h); //смещение картинки для маркера
var icon = new OpenLayers.Icon(base_url + response.data[i].task_icon, size, offset);//картинка для маркера
var position = response.data[i].task_tooltip.split(" ");
var task = clone(response.data[i]);
var marker = new OpenLayers.Marker(new OpenLayers.LonLat(position[0],position[1]).transform(new OpenLayers.Projection('EPSG:900913'), map.getProjectionObject()),icon);
marker.events.register('mousedown', marker, function(evt) {
alert(i);
});
markers.addMarker(marker);
}
Заранее большое спасибо всем!