Как исправить неправильный адрес при вводе текста после выбора автозаполнения в Google Адреса? - PullRequest
1 голос
/ 06 июля 2019

Я использую 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.

1 Ответ

4 голосов
/ 10 июля 2019

Это поведение также показано в примере автозаполнения Google https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete

Похоже, что эти 2 адреса указывают на один и тот же идентификатор места, поэтому это может быть проблемой API. Я рекомендую отправлять отзывы в Google Maps, см. https://support.google.com/maps/answer/3094045?hl=en&ref_topic=3093612

Надеюсь, это поможет!

...