Я хочу, чтобы иметь возможность возвращать данные из autocomplete.getPlace()
при стрельбе этим событием вручную.Google API getPlace из autocomplete return undefined при стрельбе вручную
В принципе, у меня есть одна функция, которая получает местоположение пользователя в 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
.
Если вы используете ту же функцию, но из собственного элемента автозаполнения, возвращается правильное значение.
Что я делаю неправильно?
Основываясь на ссылках на ссылки, я получил результаты, которые хотел, но с помощью другого метода. Вместо того, чтобы вручную запускать событие автозаполнения, я использую 'PlacesService' для создания нового поиска. после этого основная цель была достигнута, и я могу получить необходимую мне информацию. благодаря – celsomtrindade