【发布时间】:2016-10-04 15:31:38
【问题描述】:
我希望能够在手动触发此事件时从autocomplete.getPlace() 返回数据。
基本上,我有一个函数可以在Lat/Lng 中获取用户位置,然后我想获取用户getPlace(),因为有更多有用的数据,例如place_id、照片(最想要的)、参考等.
到目前为止,我几乎可以做任何事情,我什至可以手动触发事件,但它返回 undefined。这是我到目前为止的代码:
var latLng = response; //Comes from another function
geocoder.geocode({'location': latLng}, function(results, status) {
if (status === 'OK') {
if (results[1]) {
var fullAddress = results[0].formatted_address;
var input = document.createElement("input");
input.setAttribute("value", fullAddress);
var autocomplete = new google.maps.places.Autocomplete(input);
google.maps.event.addListener(autocomplete, 'place_changed', function () {
var thisPlace = autocomplete.getPlace();
console.log(thisPlace);
});
google.maps.event.trigger(autocomplete, 'place_changed');
}
}
});
这里一切正常,但来自autocomplete.getPlace() 的返回是undefined。
如果运行相同的函数,但来自本机自动完成元素,则返回正确。
我做错了什么?
【问题讨论】:
标签: javascript autocomplete google-places-api