javascript - phonegap geocoder.geocode 从结果中获取门牌号

标签 javascript android cordova google-maps

我有这个地理编码器代码:

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

我想将街道和门牌号保存在不同的变量中,我该怎么做?

最佳答案

根据the documentation ,您可以从地理编码 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);
    }
}

关于javascript - phonegap geocoder.geocode 从结果中获取门牌号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40466138/

相关文章:

android - 在图书馆项目中使用 Room DB

android - 如果应用程序已经运行(Android 模拟器、Lollipop),则仅捕获 BOOT_COMPLETED 广播

javascript - 如何访问 html 元素的属性?

javascript - 基于 Controller 返回值的 Ng 类

android - 打开/关闭 Realm 实例的最佳实践

cordova - 如何在 cordova 应用程序中添加自定义 cordova 插件

ipad - iPad 上的 jQuery Mobile 过渡缓和

ios - 在 iOS 上将 font-awesome 与 Phonegap 结合使用

javascript - 如何合并状态和 Prop ,然后将它们作为 Prop 传递?

javascript 窗口 ['func' ] 参数返回未定义而不是函数