【发布时间】:2015-04-01 17:19:54
【问题描述】:
在 SA 的帮助下,当用户想要对其当前位置进行地理定位时,我设法获得了 lat、lng 和视口边界。
今天,有人问我们是否也可以从请求中获取输出代码(“postal_code_prefix”)。这是英国邮政编码的前三/四位数。我说这应该不是问题,我什至可以在控制台中看到输出代码。我在这个帖子Retrieving Postal Code with Google Maps Javascript API V3 Reverse Geocode 上读到了几个好的和坏的答案,最简洁的一个如下:
for (i = 0; i < results.length; i++) {
for (var j = 0; j < results[i].address_components.length; j++) {
for (var k = 0; k < results[i].address_components[j].types.length; k++) {
if (results[i].address_components[j].types[k] == "postal_code_prefix") {
outcode = results[i].address_components[j].short_name;
} else if (results[i].address_components[j].types[k] == "postal_code") {
outcode = results[i].address_components[j].short_name;
}
}
}
}
我已经在 3 台不同的计算机上对此进行了测试,并且运行良好。任何人都可以看到它的缺点或改进吗?例如,最好有一个单行解决方案,例如:
var outcode = results[1].address_components.postal_code_prefix.short_name();
我搜索了一整天,没有找到简单的解决方案。
非常感谢。
【问题讨论】:
-
投了赞成票,...我不明白为什么有些人会随机投反对票。
-
感谢@JerylCook 是的,这让我很恼火,尤其是。如果没有解释。