map - 如何更改 openlayers 标记图标?

标签 map openlayers

我在我的应用程序中使用 Openlayers。

当我单击 map 时,我已成功显示标记,但现在我想在单击时更改标记图标,如何执行此操作。我没有找到类似 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.
  });

最佳答案

OpenLayers 2 上的文档:

http://dev.openlayers.org/docs/files/OpenLayers/Marker-js.html

提到了 setUrl 方法来设置图标图像。这应该有效:

marker.setUrl('marker.png');

关于map - 如何更改 openlayers 标记图标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9998568/

相关文章:

c++ - 有没有办法限制 STL Map 的大小?

c++ - 如何将指针映射公开为 const 指针映射?

Openlayers:this.addOptions 不是函数

javascript - 地理测绘中的集群

javascript - OpenLayers 中图标的奇怪问题(svg 图标不显示,而类似的图标却显示)

sorting - 执行辅助排序时获取空指针异常

c++ - 是否可以使用自定义类代替 STL 映射中的 std::pair?

xml - XSLT : Creating a Map in XSLT

javascript - OpenLayers - 一层上的自定义图像马赛克

javascript - 无法编译使用 OpenLayers 的 TypeScript 代码