【问题标题】:browser position.address.postalCode always null浏览器 position.address.postalCode 始终为空
【发布时间】:2012-02-28 17:07:35
【问题描述】:

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

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

有人可以告诉我是否有简单的方法可以在 FF10 中使用位置对象找出邮政编码?

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

我的代码:

谢谢

【问题讨论】:

  • 请提供您的代码示例,该示例无法正常工作...
  • 此代码在 FF10 中无效。 position.address 为空 [Break On This Error] alert(position.address.postalCode);

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


【解决方案1】:

根据规范:

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

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

【讨论】:

  • 在地理编码请求中,地址是必需的link。还有其他方法可以使用google api从经度/纬度查找邮政编码吗?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2011-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 1970-01-01
    相关资源
    最近更新 更多