【发布时间】:2012-03-02 05:59:45
【问题描述】:
在 Openstreemaps 上有一个循环来显示带有事件的标记,例如:
for (var i = 1; i <= length; i++) {
instance.markers[provider][index]['marker'] = new OpenLayers.Layer.Markers("Markers");
instance.map_instance[divBlock].map.addLayer(instance.markers[provider][index]['marker']);
instance.markers[provider][index]['icon'] = new OpenLayers.Icon(coord_data.img_icon, new OpenLayers.Size(17,17));
var mark = new OpenLayers.Marker(center, instance.markers[provider][index]['icon']);
mark.events.register('click', mark, function(evt){
alert(coord_data.file);
});
instance.markers[provider][index]['marker'].addMarker(mark);
}
此代码中的事件不起作用。
下一个 event.register 有效,但在层内的整个标记上:
instance.map_instance[divBlock].map.events.register('click', instance.markers[provider][index]['marker'], function(evt){
alert(coord_data.file);
});
如何在此循环中为每个标记单独添加事件?
【问题讨论】:
标签: javascript dom-events openlayers openstreetmap marker