我在我的应用程序中使用Openlayers。
当我点击地图时,我已成功显示标记,但现在我想在点击它时更改标记图标,如何执行此操作。我找不到像marker.setIcon();
我真的很困惑。
map.events.register("click", map , function(e){
var opx = map.getLonLatFromPixel(e.xy) ;
var marker = new OpenLayers.Marker(opx);
markers.addMarker(marker);
marker.events.register("click", marker, function(e){
//here i want to change the icon to some other
popup = new OpenLayers.Popup.FramedCloud("chicken",
marker.lonlat,
new OpenLayers.Size(200, 200),
"example popup",
null, true);
map.addPopup(popup);
});
// here i want to change to default.
});
答案 0 :(得分:10)
以下文件:
http://dev.openlayers.org/docs/files/OpenLayers/Marker-js.html
提到方法setUrl来设置图标图像。这应该有效:
marker.setUrl('marker.png');
答案 1 :(得分:1)
我从here得到答案,这是代码
marker.events.register('click', marker, function() {
// Reset all markers.
for (var i=0; i<markers.length; i++) {
markers[i].icon.imageDiv.firstChild.setAttribute(
'src', 'images/red.png');
}
this.icon.imageDiv.firstChild.setAttribute('src', 'images/blue.png');
});