Google Maps автозаполнение полный адрес

У меня есть веб-приложение, использующее автозаполнение Google Maps в поле ввода, как на странице примеров:

Однако они используют автозаполнение для разделения информации и заполнения формы:

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' - это идентификатор поля ввода для поиска мест

Другие вопросы по тегам