我正在创建一个应用程序,该应用程序需要从geoJSON文件中选择多个多边形特征并突出显示它们。
我已经设法使用Leaflet-Geoman插件并附加侦听器map.on('pm:create',并使用绘制形状的latLngBounds来使用intersects从文件中进行选择。
但是,因为我还使用了来自geoJSON特征的latLngBounds,所以它选择了所绘制形状范围之外的特征。我知道这是因为使用了latLngBounds,它使用特征的NorthEast和SouthWest角创建了一个边界框,而不仅仅是特征本身的几何形状。
有没有办法使用pm:create plugin进行适当的选择,或者有没有更好的方法?
下面是我正在使用的代码片段。
发布于 2020-08-21 02:54:22
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();
}
});
https://stackoverflow.com/questions/63494089
复制相似问题