如何通过传单搜索获取经纬度的经度/纬度?

时间:2019-07-09 21:16:47

标签: leaflet

我正在使用传单搜索来对我进行本地化,而没有任何自动本地化方法。单击某些过滤器后,我需要使用经找到的纬度较长的地方。

我已阅读并尝试使用它: Get and display lat long from address using Leaflet Control Search

我在过滤器的onchange函数中的调用:

var loc = searchControl._getLocation(this._input.value);
console.log("Latitude: " + loc.lat);
console.log("Longitude: " + loc.lng);

但是出现此错误:Uncaught TypeError: Cannot read property 'value' of undefined

我想我晚调用了_getLocation函数,searchControl被清除了,对吧?那么,何时/如何从中获取最新数据呢?是否有som事件处理程序用于“找到搜索的地方”?

1 个答案:

答案 0 :(得分:1)

也许是这样吗?


searchControl.on('search:locationfound', function(e) {
    var locLat = e.latlng.lat;
    var locLng = e.latlng.lng;
    console.log(locLat+', '+locLng);
});

我假设_getLocation()方法是异步的,例如您的console.log()语句尝试先读取值。

但是,如果我查看code,我怀疑这会通过直接调用_getLocation()来实现,因为事件是在_handleSubmit()内触发的,该事件本身会调用_getLocation()方法,然后触发该事件...