leaflet - 从图层中获取传单标记

标签 leaflet markers

我是 leaflet 的新手,正在尝试实现一组具有不同 CSS 样式的标记。

因此,我知道在向 map 添加标记后,我可以通过在我的标记上调用 getElement() 来访问不同的 CSS 属性,例如:

    marker.addTo(map);
    marker.getElement().style.borderColor = '#000';

这工作得很好,但是当向图层添加标记时,由于发生 TypeError(getElement() 未定义),不能再使用它。这是发生错误的示例代码:

    myLayer.addLayer(marker);
    marker.getElement().style.borderColor = '#000';

我是否忽略了一种更简单的方法来为添加到图层的标记和 divicon 设置 CSS 属性,或者是否有类似的方法来访问 JavaScript 中添加的图层标记和 divicon?

最佳答案

所以我找到了适合我的解决方案。 这个想法是扩展用于创建图标的功能。 最后的答案在这里 github.com/Leaflet/Leaflet/issues/5231帮助很大。

    var borderSize = ...;
    L.DivIcon.Custom = L.DivIcon.extend({
        createIcon: function(oldIcon) {
               var icon = L.DivIcon.prototype.createIcon.call(this, oldIcon);
               icon.style.borderSize = borderSize;
               ...
               return icon;
        }
    })
    var icon = new L.DivIcon.Custom({
        ...
    });        
    var ll = L.latLng(entry.Longitude, entry.Latitude);
    var marker = L.marker(ll, {
      icon: icon
    })
    this.myLayer.addLayer(marker);

关于leaflet - 从图层中获取传单标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44079937/

相关文章:

mysql - 如何将openstreetmap数据放入我的mysql数据库中?

android - 如何在 map 上画很多标记

javascript - 在传单中查找已保存标记的纬度和经度

javascript - Openlayers,更改聚类标记

javascript - 谷歌地图 api 点标记

javascript - 将绘制的形状/标记与特定切换层绑定(bind): Leaflet

leaflet - 如何在传单中获取wms图层的边界框

javascript - Leaflet 画出一个多边形是否包含另一个多边形

javascript - 在 Leaflet 上检测用户发起的平移/缩放操作

google-maps-api-3 - 谷歌地图 API 在本地主机上工作,但在网络服务器上不起作用