簡體   English   中英

phonegap geocoder.geocode從結果中獲取門牌號碼

[英]phonegap geocoder.geocode get the house number from results

我有此地址解析器代碼:

function codeLatLng(lat, lng) {
 geocoder = new google.maps.Geocoder();
    var latlng = new google.maps.LatLng(lat, lng);
    geocoder.geocode({'latLng': latlng}, function(results, status) {
      if (status == google.maps.GeocoderStatus.OK) {
      console.log(results)
        if (results[1]) {
         //formatted address
         alert(results[0].formatted_address)//this is a string of all location 

        } else {
          alert("No results found");
        }
      } else {
        alert("Geocoder failed due to: " + status);
      }
    });
  }

我想將街道和門牌號保存在不同的變量中,該怎么辦?

根據文檔 ,您可以從Geocoding API響應中獲取address_components ,而不是獲取formatted_address ,然后獲取例如street_number

"address_components" : [
    {
       "long_name" : "1600",
       "short_name" : "1600",
       "types" : [ "street_number" ]
    },
    ...
]

您可以在address_components迭代所需的組件(在此示例中,我正在檢索street_number ):

for (var i = 0; i < results[0].address_components.length; i++) {
    var address_components = results[0].address_components[i];
    if (address_components.types[0] == 'street_number') {
        console.log(address_components.long_name);
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM