Почему некоторые адреса не имеют всех компонентов при использовании Google Maps Geolocation? - PullRequest
0 голосов
/ 18 сентября 2018

Я написал эту функцию для получения адреса из координат с помощью API Карт Google.

var geocoder = new google.maps.Geocoder();

function setMap(pos) {
    map.setCenter(pos);

    geocoder.geocode({ latLng: pos }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
            $("#address").val(results[0].formatted_address + ", Coordinates: " + results[0].geometry.location.lat() + "," + results[0].geometry.location.lng());

            console.log("init  address", results[0]);
        }
        else {
            $("#address").val("Couldn't find your address, please use search feature.");
        }
    });
}

Затем я пытаюсь получить отдельные поля адреса из массива address_components:

        $.each(address.address_components, function(i, component) {
            $.each(component.types, function(j,type) {
                if (type === 'route') {
                    $("#street_name").val(component.long_name)
                }
                if (type === 'street_number') {
                     $("#street_number").val(component.long_name)
                }
            })
        })

Проблема в том, что для некоторых мест formatted_address свойство содержит номер улицы и название улицы , но не содержит их как отдельные поля в address_components.

Пример ниже:

enter image description here

Неужели Google не обновил их?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...