【问题标题】:How to get Leaflet GeoJSON feature containing a given latitude/longitude point如何获取包含给定纬度/经度点的 Leaflet GeoJSON 功能
【发布时间】:2017-01-23 21:15:36
【问题描述】:

我有一个包含多个多边形的 GeoJSON 层的 LeafletJS 地图。如果用户输入位于 GeoJSON 层内的纬度/经度坐标,脚本应检索包含该点的要素并将有关它的一些信息记录到控制台。

我不能简单地使用 Leaflet 的内置事件处理,因为纬度和经度坐标是由单独的输入字段生成的,而不是通过与地图的直接交互生成的。所以我的问题不是this的重复。

我在下面的示例中寻找类似于 getFeatureContainingLatLng() 的内容:

var map = L.map('map');
var geojson = L.geoJson(myGeojson);

geojson.addTo(map);

$.on('address input changed event', function(lat, lng) {
    var myFeature = geojson.getFeatureContainingLatLng(lat, lng);
    console.log(myFeature.properties);
});

【问题讨论】:

    标签: javascript jquery leaflet gis


    【解决方案1】:

    插件Leaflet.CheapLayerAtLeaflet-pip 应该会有所帮助。这两种方法都可以解决您的问题,尽管它们在算法复杂性方面各有优缺点。

    【讨论】:

    • 我最终采用了不同的方法,但其中任何一个都可以解决我的问题。
    • @JonathanCox 你介意说说你是怎么做到的吗?非常感谢
    猜你喜欢
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 2019-09-07
    • 1970-01-01
    • 1970-01-01
    • 2019-11-05
    • 2023-03-04
    • 2011-08-28
    相关资源
    最近更新 更多