首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Leaflet -使用Leaflet-Geoman插件选择多个geoJSON面要素

Leaflet -使用Leaflet-Geoman插件选择多个geoJSON面要素
EN

Stack Overflow用户
提问于 2020-08-20 03:54:39
回答 1查看 486关注 0票数 1

我正在创建一个应用程序,该应用程序需要从geoJSON文件中选择多个多边形特征并突出显示它们。

我已经设法使用Leaflet-Geoman插件并附加侦听器map.on('pm:create',并使用绘制形状的latLngBounds来使用intersects从文件中进行选择。

但是,因为我还使用了来自geoJSON特征的latLngBounds,所以它选择了所绘制形状范围之外的特征。我知道这是因为使用了latLngBounds,它使用特征的NorthEast和SouthWest角创建了一个边界框,而不仅仅是特征本身的几何形状。

有没有办法使用pm:create plugin进行适当的选择,或者有没有更好的方法?

下面是我正在使用的代码片段。

Code Snippet

EN

Stack Overflow用户

发布于 2020-08-21 02:54:22

您可以使用功能强大的库Turf.jsTurf CDN

代码语言:javascript
运行
复制
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();
    }
});
票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63494089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档