2010-10-05 70 views
3

我需要獲取給定地址/位置的時區。假設地址/位置可以反向地理編碼(使用谷歌)到必要的緯度/經度。將位置映射到時區

這意味着我可能沒有郵政編碼。

我真的希望谷歌爲此提供了某種API,但似乎他們沒有。至少你可以谷歌搜索「時間在華盛頓,直流」,並獲得時間/ TZ - 但後來我不得不屏幕刮哪些是不好玩的:(

我知道有數據庫可用地圖位置到時區,但不得不保持。有沒有人想出了一個棘手的解決這個問題?

謝謝!需要說明的有點多

+0

..誰是「他們?」 – 2010-10-05 20:32:27

回答

2

http://www.geonames.org/規定,返回給定的時區API緯度/經度

+1

geonames不是免費的,樣本使用的'demo'帳戶僅限於每天3000個請求。我剛纔正在使用它作爲開發目的,並且它停止工作。 – 2012-11-12 04:20:56

0

的問題。你是什麼這樣做的目的是什麼?你使用什麼語言?但是,我將如何處理這個問題是:首先,創建一個像結構一樣的表格,將經度轉換爲區域(非常類似於table)。接下來,我會在本地查詢GMT,或者以某種方式在網絡上,最後從表中獲得偏移量並將其添加到GMT。這種方式沒有「維護」表格,因爲這些經度不會改變。

0

我寫了一個小的Java類來做到這一點,與嵌入代碼的數據結構。如果您想避免使用Web服務,並且22公里的準確度足夠好,並且您很樂意假定時區邊界不會改變,那麼它可能會有所幫助。

https://sites.google.com/a/edval.biz/www/mapping-lat-lng-s-to-timezones

+0

更準確的版本是61484行代碼。代碼的性能如何? – ProgrAmmar 2014-09-02 06:32:30

+1

表現快。這只是對經緯度的二元搜索。 (對任何編譯語言都是快速的,但在PHP中會很慢)。 – 2014-09-03 07:20:57