Google Maps автозаполнение полный адрес
У меня есть веб-приложение, использующее автозаполнение Google Maps в поле ввода, как на странице примеров:
- https://developers.google.com/maps/documentation/javascript/examples/places-autocomplete-addressform
Однако они используют автозаполнение для разделения информации и заполнения формы:
function fillInAddress() {
// Get the place details from the autocomplete object.
var place = autocomplete.getPlace();
for (var component in componentForm) {
document.getElementById(component).value = '';
document.getElementById(component).disabled = false;
}
// Get each component of the address from the place details
// and fill the corresponding field on the form.
for (var i = 0; i < place.address_components.length; i++) {
var addressType = place.address_components[i].types[0];
if (componentForm[addressType]) {
var val = place.address_components[i][componentForm[addressType]];
document.getElementById(addressType).value = val;
}
}
}
Это не то, что я ищу. Что мне нужно, это простая переменная javascript с содержимым этого поля ввода. Что-то вроде var completeAddress = autocomplete.getFullAddress()
, но этого не существует, и я не вижу способа сделать это без сложных циклов и массивов.
Как я могу получить текст, который выбрал пользователь?
2 ответа
Решение
Вы хотите отформатированный адрес
function fillInAddress() {
// Get the place details from the autocomplete object.
var place = autocomplete.getPlace();
document.getElementById('fulladdress').value = place.formatted_address;
}
Вы также можете сделать это, так как formatted_address не дает полный адрес в некоторых случаях.
completeAddress = document.getElementById('autocomplete').value;
Где 'autocomplete' - это идентификатор поля ввода для поиска мест