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