Я написал эту функцию для получения адреса из координат с помощью 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
.
Пример ниже:
Неужели Google не обновил их?