[英]leaflet.pm edit mode get new coordinates within shape
我正在使用传单 js 来构建带有一些别针https://leafletjs.com/的地图,并且我还允许绘制形状,例如多边形、圆形等。我还可以使用名为 Leaflet.pm 的插件来编辑这些形状https://github.com/codeofsumit/leaflet.pm 。
这里有事件,但在禁用编辑模式或拖动完成后,没有任何事件返回新位置的坐标。 这是我参与的事件;
map.on('pm:globaleditmodetoggled', function(e) {
console.log(e);
});
这个事件在哪里给了我需要的东西;
map.on('pm:create', function(e) {
let obj = {
type: e.shape,
coordinates: e.layer.editing.latlngs[0][0]
};
$('#cords').val(JSON.stringify(obj))
});
任何想法如何在编辑形状时获得更新坐标?
我是Sumit,leaflet.pm的维护者
您可以做的是:侦听正在创建的事件并将编辑事件添加到新形状:
map.on('pm:create',(e) {
e.layer.on('pm:edit', ({ layer }) => {
// layer has been edited
console.log(layer.toGeoJSON());
})
});
当然,每当您向地图添加图层时,您也可以将pm:edit
事件应用于其参考。 此外,当您创建图层或向地图添加图层时,您可以简单地存储参考。 编辑完成后,您只需检查其坐标的参考(就像您通常在传单中所做的那样)。 如果您只需要知道编辑何时完成,请使用pm:edit
事件来捕捉图层何时被编辑。
希望这有帮助👍
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.