我使用很棒的 Leaflet 插件进行地理编码,例如 https://github.com/smeijer/L.GeoSearch
虽然这些非常适合在找到时在 map 上显示地址位置,但我也希望能够将结果中的坐标用于我包含在 map 中的其他函数(例如,我编写了一个可以找到基于 Leaflet 内置 locate
函数触发的 locationfound
事件从数据层获取附近的点)。
我知道答案(可能)在于从地理搜索插件访问事件,但这有点超出了我目前的技能范围。非常欢迎任何帮助。
最佳答案
L.GeoSearch
插件会在您的 map 实例上触发事件。您需要监听 geosearch_foundlocations
事件。事件触发时返回的对象包含一个 Locations
属性,其中包含一个包含 L.GeoSearch.Result
对象的数组。每个对象有四个属性; 标签
、X
、Y
和边界
代码示例:
map.on('geosearch/showlocation', function (e) {
e.Locations.forEach(function (Location) {
// Location.Label = full address
// Location.X = longitude
// Location.Y = latitude
// Location.bounds = boundaries
});
});
关于javascript - 传单地理搜索 : return lat/lng from address found event,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35384869/