2017-08-17 147 views
0

想要顯示該位置的緯度和經度位置的郵政編碼。下面是我的代碼。從javascript中的緯度和經度獲取郵政編碼

function markerLocation() { 
    var currentLocation = marker.getPosition(); 
    var geocoder = new google.maps.Geocoder();   
    var location = new google.maps.LatLng(currentLocation.lat(), currentLocation.lng()); 

    geocoder.geocode({ 'latLng': location , function (results, status) { 
    if (status == google.maps.GeocoderStatus.OK) { 
     var add = results[0].address_components[1][1]; 
     document.getElementById('lat').value = add; 
    } 
    }); 

在這裏,我想顯示在拉特郵政編碼。但是當我使用address_components時,它顯示未定義。 和藹可親。

+0

哪裏PHP在這裏?向我們展示'results'數組內容。 – Script47

+0

https://stackoverflow.com/questions/38669434/reading-json-data-from-google-geocoding-api-with-jquery這可能會幫助你。 –

+0

您需要解析結果才能找到類型爲postal_code的address_components條目,它不總是爲'results [0] .address_components [1] [1]' – geocodezip

回答

0

試試這個:

<input id="postal_code"/> 
<input id="street"/> 
... 

腳本

if (status == google.maps.GeocoderStatus.OK) { 
for(var i in results[0].address_components) { 
    // skip items with no types 
    if(typeof results[0].address_components[i].types == 'undefined') { 
    continue; 
    } 

    if(results[0].address_components[i].types.indexOf('postal_code') > -1) { 
    document.getElementById('postal_code').value = results[0].address_components[i].long_name; 
    } 
    if(results[0].address_components[i].types.indexOf('street') > -1) { 
    document.getElementById('street').value = results[0].address_components[i].long_name; 
    } 
    ... 
} 
} 
相關問題