javascript - 如何获取包含给定纬度/经度点的 Leaflet GeoJSON 特征

标签 javascript jquery leaflet gis

我有一个带有包含多个多边形的 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.CheapLayerAtLeaflet-pip应该有帮助。这两种方法都可以解决您的问题,尽管它们各有优缺点,特别是在算法复杂性方面。

关于javascript - 如何获取包含给定纬度/经度点的 Leaflet GeoJSON 特征,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41815752/

相关文章:

leaflet - 当 nowrap 启用时设置 map 边界/边缘

ionic2 - 如何安装 ionic 2 的 Leaflet 插件

javascript - 从一个 Waypoints.js 构造函数动态定位多个 HTML 元素

javascript - Node.js 中的大型 CSV 到 JSON/对象

javascript - 使用 jQuery 从 href 获取 Word

javascript - 'each' 和 'addClass workaround' 文件加载 jQuery 更快更容易

javascript - 测试两条线是否相交 - JavaScript 函数

javascript - React类组件中的同步Meteor调用

javascript - 对动态元素使用 JQuery 选择器和 "this"

javascript - 如何为 map 上的多边形生成填充颜色范围?