我有一个带有包含多个多边形的 GeoJSON 层的 LeafletJS map 。如果用户输入落在 GeoJSON 层内的纬度/经度坐标,脚本应检索包含该点的要素并将有关它的一些信息记录到控制台。
我不能简单地使用 Leaflet 的内置事件处理,因为纬度和经度坐标是由单独的输入字段生成的,而不是通过与 map 的直接交互生成的。所以我的问题不是 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);
});
最佳答案
插件 Leaflet.CheapLayerAt或 Leaflet-pip应该有帮助。这两种方法都可以解决您的问题,尽管它们各有优缺点,特别是在算法复杂性方面。
关于javascript - 如何获取包含给定纬度/经度点的 Leaflet GeoJSON 特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815752/