首页 > 解决方案 > 从 Javascript 中的经度和纬度获取城市、州、邮政编码

问题描述

我想从经度和纬度中获取用户的城市、州、邮政编码。我遵循了一些关于谷歌地图反向地理编码 API的 stackoverflow 教程,但它有时会返回长度为 2 到 3 且长度为 6 到 8 的数组。所以我无法准确找到我可以找到的索引邮政编码。下面是我获取用户经度和纬度的代码。

  var longitude,latitude;

  if(navigator.geolocation){
    navigator.geolocation.getCurrentPosition(showPosition);
  } else {
    console.log("Geolocation is not supported by this browser.");
  } 
  function showPosition(position) {
   longitude = position.coords.longitude;
   latitude = position.coords.latitude;
  }

谢谢。

标签: javascriptgoogle-maps

解决方案


你是对的,

您将获得基于地址的随机数数组的长度。要获取国家、州、城市和邮政编码,您必须在结果数组中选择第一个数组并在其中选择 address_components 数组,在此数组中,数组的最后一个索引是zipcode,数组的第二个最后索引是国家,第三个数组的最后一个索引是,数组的最后一个索引是你的城市。请查看下图以了解数组的结构。

注意:我在印度测试过,不确定其他国家。

附加图片

谢谢。


推荐阅读