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

标签 javascript maps leaflet leaflet.draw

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

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

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

下图为详细说明,表示已用画图软件修复。

This image for elaboration, meaning it's fixed with a Paint Software

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' });
        });

因此,有一个监听器,您可以将其插入代码 draw:drawvertex,这意味着无论何时创建顶点,我都需要做一些事情。

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

关于javascript - 如何在使用 Leaflet.Draw 绘制多边形时更改第一个顶点的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45675835/

相关文章:

java - Android:如何在内存中创建和保存 map View 以供所有 Activity 使用

javascript - 检索 Shiny APP 传单 map 中所有标记的位置

javascript - 返回从 JavaScript 函数错误调用的 JavaScript 函数

javascript - Chart.js 2.0 - 如何更改 Canvas /图表元素的默认外观

silverlight - Windows Phone 7 上不支持 bing map 吗?

android - 尝试从 Google Cloud Messaging 消息更改 Google Maps v2 Api 上的标记时出现非法状态异常

javascript - 传单和 Mapbox : Buttons not working when added via Javascript

javascript - 使用 EPSG :25832 projection 的 Leaflet 中 TMS 磁贴的垂直对齐

javascript - 引用类/实例而不是对象文字属性的正确方法?

javascript - 为什么这段 Javascript 代码这么慢?