我正在使用传单搜索来对我进行本地化,而没有任何自动本地化方法。单击某些过滤器后,我需要使用经找到的纬度较长的地方。
我已阅读并尝试使用它: 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事件处理程序用于“找到搜索的地方”?
答案 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()
方法,然后触发该事件...