Leaflet geosearch:从发现地址的事件返回lat / lng

时间:2016-02-13 20:19:47

标签: javascript leaflet geocoding

我使用优秀的Leaflet插件进行地理编码,例如https://github.com/smeijer/L.GeoSearch

虽然这些非常适合在地图上显示地址位置,但我也希望能够将结果中的坐标用于我在地图中包含的其他功能(例如,我写了一个找到的地图基于从Leaflet的内置locationfound函数触发的locate事件,来自数据层的附近点。

我知道答案(可能)在于从geosearch插件中访问事件,但这有点超出了我的技能。任何帮助都会非常受欢迎。

1 个答案:

答案 0 :(得分:1)

L.GeoSearch插件会在地图实例上触发它的事件。您需要收听geosearch_foundlocations事件。触发事件时返回的对象包含Locations属性,该属性包含带有L.GeoSearch.Result个对象的数组。每个对象有四个属性; LabelXYbounds

代码示例:

map.on('geosearch_foundlocations', function (e) {
    e.Locations.forEach(function (Location) {
        // Location.Label = full address
        // Location.X = longitude
        // Location.Y = latitude
        // Location.bounds = boundaries
    });
});