在javascript中从纬度和经度获取邮政编码

时间:2017-08-17 10:54:37

标签: javascript php jquery google-maps

想要显示该位置的纬度和经度的邮政编码。下面是我的代码。

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;
    }
  });

这里我想在lat中显示邮政编码。但是当我使用address_components时,它显示未定义。 请帮助。

1 个答案:

答案 0 :(得分: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;
  }
  ...
}
}