2012-02-28 130 views
0

我注意到,在FF4中,我可以使用地理定位對象 position.address.postalCode來查找郵政編碼。browser position.address.postalCode always null

當在FF10上測試時,我發現位置地址總是爲空,而我仍然可以使用position.coords而沒有任何問題來查找經度或緯度。

有人可以告訴我,如果有簡單的方法找到FF10中的位置對象postalCode?

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

我的代碼:

謝謝

+0

請提供您的代碼的示例不工作... – ehudokai 2012-02-28 17:19:56

+0

此代碼不適用於FF10。 position.address is null [Break On This Error] \t alert(position.address.postalCode); – gospodin 2012-02-28 17:37:23

回答

2

根據規範:

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

位置只需要有座標和時間戳。 FF4可能有一些額外的數據,但它不能保證在那裏,因爲它不是規範的一部分。嘗試使用地址查找服務的座標。

+0

在地理編碼請求中,地址是必需的[鏈接](http://code.google.com/apis/maps/documentation/geocoding/#GeocodingRequests)。有沒有另一種方法來使用谷歌API來查找經度/緯度的郵政編碼? – gospodin 2012-02-28 17:49:02

+1

反向地理編碼解決了我的問題。謝謝。 – gospodin 2012-02-28 19:00:50

0

地址只有當它可用可用;換句話說,不能保證它是非空的。這取決於瀏覽器可以獲得多少信息。

如果只能獲得緯度/經度,則可能會退回到使用其他地理定位Web服務。 (這樣的服務幾乎肯定也不能保證寄回郵寄地址;例如,如果我在大湖上從一艘船上使用你的網站,我可能在任何情況下都沒有有意義的郵政地址。)