javascript - 是否可以在Leaflet中设置VertexIcon?

标签 javascript leaflet mapbox

使用Leaflet.Editable ,一个用于更多自定义编辑的插件,可以设置 L.Polyline 的样式启用编辑时(在我的情况下,单击形状时会启用编辑形状):

map.on('editable:enable', function (e) {
    e.layer.setStyle({color: 'DarkRed'});
});

使用Leaflet.Draw ,一个允许更多“开箱即用”编辑的插件(您添加带有某些设置的控件,它会完成其余的操作)当您第一次创建折线时,可以为折线顶点设置图标(并且您必须通过控制选项来完成此操作):

    var drawControl = new L.Control.Draw({
    draw: {
        position: 'topleft',
        polyline: {
            icon: L.icon({
                iconUrl: '/key.png',
                iconSize: [38, 95],
            }),
            shapeOptions: {
                color: '#FF0000',
                opacity: 1,
                weight: 2
            }
        },
    },

绘图插件似乎正在使用图标选项here .

我的问题:layer.setStyle一样,有没有办法告诉折线用图标替换其所有顶点?

最佳答案

在图层组中创建一个函数,您可以使用事件或变量访问元素,但最好使用事件(e),这样您就可以获取当前的多九线并按照您想要的方式进行编辑: enter image description here enter image description here

    var drawnItems = new L.FeatureGroup().on('draw:editstart', function (e) {
console.log(e);
console.log(drawControl);
    drawControl.setDrawingOptions({   
        polygon: {
          icon: L.icon({
            iconUrl: '../img/logo.png',
            iconSize: [38, 95],
            iconAnchor: [22, 94],
            popupAnchor: [-3, -76]
          })  
        }
    });
});

关于javascript - 是否可以在Leaflet中设置VertexIcon?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37471772/

相关文章:

javascript - 来自 geoJSON 的 Mapbox 标记未出现在 IE9 中

javascript - 在 Javascript 中检测 parent 和祖 parent 的链接

R Shiny 传单 : Click on Shape and Zoom to Bounds (using maps package)

javascript - 使用 Leaflet 和 AngularJS 的热图

html - 传单 - map "shadowed",当大小设置为百分比时不可点击

android - 从 GeoJsonSource 获取所有特征

geocoding - 如何在 MapboxGeocoder flyto 事件后获得边界?

javascript - 使用 gridview 滚动后,jqgrid 的多个复选框已取消选中 : true

javascript - Node js/Angular js - 注意 : Provisional headers are shown

javascript - 意外的 JavaScript 响应