浏览器position.address.postalCode始终为null

时间:2012-02-28 17:07:36

标签: google-maps-api-3 geolocation position javascript

我注意到在FF4中我可以使用地理定位对象 position.address.postalCode找到postalCode。

在FF10上进行测试时,我注意到 position.address 始终为空,而我仍然可以毫无问题地使用position.coords来查找经度或纬度。

有人可以告诉我是否有简单的方法可以找到FF10中带位置对象的postalCode?

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(findClosestAgencies);
}
function findClosestAgencies(position) {
  alert("postalCode:" + position.address.postalCode);
  alert("latitude:" + position.coords.latitude);
}

我的代码:

谢谢

2 个答案:

答案 0 :(得分:2)

根据规范:

http://dev.w3.org/geo/api/spec-source.html#position_interface

位置只需要有坐标和时间戳。 FF4可能有一些额外的数据,但它不能保证在那里,因为它不是规范的一部分。尝试使用带有地址查找服务的坐标。

答案 1 :(得分:0)

地址仅在可用时提供;换句话说,不能保证它不会为空。这取决于浏览器可以获得多少信息。

如果您只能获得纬度/经度,您可能会回到使用其他地理定位网络服务。 (这种服务几乎肯定也不能保证返回邮寄地址;例如,如果我在大型湖泊上使用您的网站,我可能在任何情况下都没有有意义的邮寄地址。)