我正在使用Leaflet和Leaflet.Draw,我让我的代码中的用户绘制多边形(不使用Leaflet Draw Controls).
当用户绘制多边形时,我需要更改其第一个顶点的颜色,例如:绿色,以便用户知道他需要单击第一个点才能关闭多边形并完成绘图.
如何使用Leaflet.Draw绘制多边形时更改第一个顶点的颜色?
下面的图片用于详细说明,这意味着它已使用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' });
});
所以,有一个监听器,你可以在你的代码中插入它,绘制:drawvertex,这意味着每当创建一个顶点我需要做一些事情.
然后,使用jQuery,您将从此长选择器中选择第一个元素,并将其背景颜色设置为绿色或任何其他颜色.