Я использую Google Places API с автозаполнением, чтобы создать форму с адресом для пользователя.Автозаполнение показывает список адресов, и он содержит адрес, который я хочу выбрать, но после того, как я выбрал опцию, адрес заполнял входной текст неверной адресной строкой.Как я вижу, это не неправильный номер адреса, это также неправильное название улицы, когда я утешаю getPlace()
on событие place_changed
, адрес также будет изменен, как Google вызывает API еще один раз.
Так это ошибка API Google или что-то не так с моим кодом?
* РЕДАКТИРОВАТЬ: Вот мой код директивы для автозаполнения Google Place:
app.directive('googleplace', function () {
return {
restrict: 'A',
link: function ($scope, element, attrs, model) {
$scope.gPlace = new google.maps.places.Autocomplete(element[0], {types: ['geocode']});
google.maps.event.addListener($scope.gPlace, 'place_changed', function () {
var position = $scope.gPlace.getPlace();
if (!position.geometry) {
alert("Address is not available: ' " + position.name + " '");
return;
}
if (map && marker) {
if (position.geometry.viewport) {
map.fitBounds(position.geometry.viewport);
} else {
map.setCenter(position.geometry.location);
}
marker.setPosition(position.geometry.location);
} else {
initMap(position.geometry.location.lat(), position.geometry.location.lng());
}
updatePosition(position.geometry.location.lat(), position.geometry.location.lng(), input_count, element[0].id);
});
}
}
});
Пример: я ввожу в строку ввода адресную строку 55a 3/2, Ninh Kiều, Cần Thơ, Vietnam
, автозаполнение также приводит к выпадающему списку, но когда я выбираю этот адрес, автозаполнение заполняет неправильный адрес во входном тексте.Строка адреса становится 55 Mạc Thiên Tích, Xuân Khánh, Ninh Kiều, Cần Thơ, Vietnam
.