我使用优秀的Leaflet插件进行地理编码,例如https://github.com/smeijer/L.GeoSearch
虽然这些非常适合在地图上显示地址位置,但我也希望能够将结果中的坐标用于我在地图中包含的其他功能(例如,我写了一个找到的地图基于从Leaflet的内置locationfound
函数触发的locate
事件,来自数据层的附近点。
我知道答案(可能)在于从geosearch插件中访问事件,但这有点超出了我的技能。任何帮助都会非常受欢迎。
答案 0 :(得分:1)
L.GeoSearch
插件会在地图实例上触发它的事件。您需要收听geosearch_foundlocations
事件。触发事件时返回的对象包含Locations
属性,该属性包含带有L.GeoSearch.Result
个对象的数组。每个对象有四个属性; Label
,X
,Y
和bounds
代码示例:
map.on('geosearch_foundlocations', function (e) {
e.Locations.forEach(function (Location) {
// Location.Label = full address
// Location.X = longitude
// Location.Y = latitude
// Location.bounds = boundaries
});
});