如何解决Leaflet-使用Leaflet-Geoman插件选择多个geoJSON多边形要素
我正在创建一个需要从geoJSON文件中选择多个面要素并将其突出显示的应用程序。
我已经成功使用Leaflet-Geoman插件并附加侦听器map.on('pm:create',并使用绘制形状的latLngBounds通过相交从文件中进行选择来完成此操作。
但是,由于我还使用了geoJSON功能中的latLngBounds,因此选择的是绘制形状范围之外的功能。我知道这是由于使用了latLngBounds,它使用要素的NorthEast和SouthWest角而不是要素本身的几何形状创建了一个边界框。
是否有一种使用pm:create插件进行正确选择的方法,还是有更好的方法来解决这个问题?
下面是我正在使用的代码的片段。
解决方法
map.on('pm:create',function (e) {
if(e.shape == 'Rectangle' || e.shape == "Polygon"){
geoJsonSelect = e.layer.toGeoJSON();
var layers = map.pm.getGeomanLayers();
layers = layers.filter(x => x !== e.layer);
layers.forEach((layer)=>{
if(turf.booleanContains(geoJsonSelect,layer.toGeoJSON())){
console.log("Contains")
}
});
e.layer.remove();
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。