javascript – 如何使用Leaflet.Draw绘制多边形时更改第一个顶点的颜色?

我正在使用Leaflet和Leaflet.Draw,我让我的代码中的用户绘制多边形(不使用Leaflet Draw Controls).

当用户绘制多边形时,我需要更改其第一个顶点的颜色,例如:绿色,以便用户知道他需要单击第一个点才能关闭多边形并完成绘图.

如何使用Leaflet.Draw绘制多边形时更改第一个顶点的颜色?

下面的图片用于详细说明,这意味着它已使用Paint Software进行修复.

javascript  – 如何使用Leaflet.Draw绘制多边形时更改第一个顶点的颜色?

P.S. Here is my code

var map = L.map('mapid',
            {
                minZoom: -1,
                maxZoom: 4,
                center: [0, 0],
                zoom: 1,
                crs: L.CRS.Simple
                });

var polygonDrawer = new L.Draw.Polygon(map);

map.on('draw:created', function (e) {
var type = e.layerType, layer = e.layer;
 layer.editing.enable();
  layer.addTo(map);

  });

$(document)ready(function(){
polygonDrawer.enable();
});

解决方法:

虽然我正在使用Leaflet.Draw进行攻击,但是在创建多边形的时候,我想出了以下代码:

    map.on('draw:drawvertex',
        function (e) {
            $(".leaflet-marker-icon.leaflet-div-icon.leaflet-editing-icon.leaflet-touch-icon.leaflet-zoom-animated.leaflet-interactive:first").css({ 'background-color': 'green' });
        });

所以,有一个监听器,你可以在你的代码中插入它,绘制:drawvertex,这意味着每当创建一个顶点我需要做一些事情.

然后,使用jQuery,您将从此长选择器中选择第一个元素,并将其背景颜色设置为绿色或任何其他颜色.

上一篇:javascript – 更改传单上的图标


下一篇:javascript – 如何强制传单地图重新加载包括可见的所有图块?