2016-09-08 40 views
-1

我試圖對Google地圖自動填充API進行一些限制。Google maps API - 僅通過郵政編碼檢索

我希望它只檢索和自動填寫郵政​​編碼,沒有別的,甚至沒有國家。但我正在努力過濾它。我對這個過程的文件感到困惑。

我該如何解決這個問題?

下面是代碼:

HTML

<form role="form"> 
    <input type="text" class="form-control" id="locality" name="locality" placeholder="Stadt oder PLZ" /> 
</form> 

的Javascript

var localityInput = document.getElementById('locality'); 
var localityOptions = { 
    types: ['(regions)'], #Retrieve postal code only 
    componentRestrictions: {country: 'ch'} 
}; 
autocomplete = new google.maps.places.Autocomplete(localityInput, localityOptions); 

更新1

在這裏,我試圖鏈接2個不同的JavaScript代碼,但我不知道如何做到這一點。

HTML

<form role="form"> 
    <input type="text" class="form-control" id="locality" name="locality" placeholder="Stadt oder PLZ" /> 
    <div id="postal_code"></div> 
</form> 

的Javascript

var localityInput = document.getElementById('locality'); 
var localityOptions = { 
    types: ['address'], 
    componentRestrictions: {country: 'ch'} 
}; 
autocomplete = new google.maps.places.Autocomplete(localityInput, localityOptions); 

    google.maps.event.addListener(autocomplete, function() { 
    var place = autocomplete.getPlace(); 
    for (var i = 0; i < place.address_components.length; i++) { 
     for (var j = 0; j < place.address_components[i].types.length; j++) { 
     if (place.address_components[i].types[j] == "postal_code") { 
      document.getElementById('postal_code').innerHTML = place.address_components[i].long_name; 
     } 
     } 
    } 
    }) 
+0

願這可以幫助你:http://stackoverflow.com/questions/34487077/how-do-i-get-the-postal-code-from-google-maps-autocomplete-api如何 –

+0

可我合併這兩個代碼以使其工作 – Lindow

回答

0

找到一種方法來做到這一點得益於 stackoverflow.com/questions/34487077/ 這裏是最終的代碼。

它只適用於郵政編碼在搜索欄中。

<form role="form"> 
    <input type="text" class="form-control" id="locality" name="locality" placeholder="Stadt oder PLZ" /> 
    <div id="postal_code"></div> 
</form 

<script> 
var localityInput = document.getElementById('locality'); 
var localityOptions = { 
    types: ['(regions)'], 
    componentRestrictions: {country: 'ch'} 
}; 
autocomplete = new google.maps.places.Autocomplete(localityInput, localityOptions); 
    google.maps.event.addListener(autocomplete, 'place_changed', function() { 
    var place = autocomplete.getPlace(); 
    for (var i = 0; i < place.address_components.length; i++) { 
     for (var j = 0; j < place.address_components[i].types.length; j++) { 
     if (place.address_components[i].types[j] == "postal_code") { 
      document.getElementById('postal_code').innerHTML = place.address_components[i].long_name; 

     } 
     } 
    } 
    }) 
google.maps.event.addDomListener(window, "load", initialize); 
</script> 
相關問題