2015-06-26 11 views
6

Gdy użytkownik dodaje numer mieszkania do ich adresu, autouzupełnianie wydaje się myśleć, to patrząc na kod pocztowy, a zmiany proponowane mecze:Google autouzupełnianie z Apartament Liczba

6250 Hollywood Boulevard # 20

Czy istnieje sposób, aby to zadziałało, a jeśli nie, sposób zignorowania numeru mieszkania i przesłania go wraz z przesłaniem formularza jako oddzielnej wartości? (Pamiętając, użytkownik może korzystać z #, jednostki, apt, etc, aby określić ich numer jednostki)

var placeSearch, autocomplete; 

var componentForm = { 
    street_number:     'short_name', 
    route:       'short_name', 
    locality:      'long_name', 
    administrative_area_level_1: 'short_name', 
    country:      'long_name', 
    postal_code:     'short_name' 
}; 

function initialize(){ 

    autocomplete = new google.maps.places.Autocomplete(
     (document.getElementById('autocomplete-address')), 
     { types: ['geocode'] }); 
     google.maps.event.addListener(autocomplete, 'place_changed', function(){ 
      fillInAddress(); 
     } 
    ); 

} 

function fillInAddress(){ 

    var place = autocomplete.getPlace(); 

    for(var component in componentForm){ 

     document.getElementById(component).value = ''; 
     document.getElementById(component).disabled = false; 

    } 

    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; 

     } 

    } 

} 

Odpowiedz

1

Nie wydaje się, że istnieje ustawienie zestawu API autouzupełniania do ignorowania numer apt jednak my może przyciąć tekst, zanim przekażemy ciąg do interfejsu API.

w swojej autocomplete = new google.maps.places.Autocomplete(, można zrobić coś takiego:

document.getElementById('autocomplete-address').replace(/#.*/g,""); 

od document.getElementById('autocomplete-address') zwraca ciąg znaków, możemy wymienić #number paer z pustym ciągiem z .replace(/#.*/g,"")

Powiązane problemy