Возврат пустой строки для ввода, если в массиве Google Maps не найдено результатов - PullRequest
0 голосов
/ 07 ноября 2011

Ниже приведен мой обратный код геокодирования:

google.maps.event.addListener(marker, 'drag', function() {
        geocoder.geocode({'latLng': marker.getPosition()}, function(results, status) {
          if (status == google.maps.GeocoderStatus.OK) {
            if (results[0]) {
              $.each(results[0].address_components, function(i,v) {
                if (v.types[0] == 'postal_code') {
                  $('#zip').val(v.long_name);
                }
                if (v.types[0] == 'locality') {
                  $('#city').val(v.long_name);
                }
                if (v.types[0] == 'administrative_area_level_1' || v.types[0] == 'administrative_area_level_2') {
                  $('#state').val(v.long_name);
                }
                if (v.types[0] == 'country') {
                  $('#country').val(v.long_name);
                }
              });
              $('#address').val(results[0].formatted_address);
              $('#lat').val(marker.getPosition().lat());
              $('#lng').val(marker.getPosition().lng());
            } else {
              alert("No results found. Please revise your address or adjust your marker.");
          }
        });
      });

Сначала, когда результат для City равен AAA, затем input[type=text]#city будет AAA.Когда я снова переворачиваю геокод, адрес возврата не содержит city.Вместо очистки предыдущих значений в текстовом поле ввода остается AAA.

Есть ли способ очистить поле, если результаты не возвращены?

Спасибо.

1 Ответ

1 голос
/ 07 ноября 2011

просто очистите его при запуске функции следующим образом:

//put this at the top of your function
$('#address').val("");

Сделайте то же самое для любых других полей, которые нужно очистить

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