我需要獲取給定地址/位置的時區。假設地址/位置可以反向地理編碼(使用谷歌)到必要的緯度/經度。將位置映射到時區
這意味着我可能沒有郵政編碼。
我真的希望谷歌爲此提供了某種API,但似乎他們沒有。至少你可以谷歌搜索「時間在華盛頓,直流」,並獲得時間/ TZ - 但後來我不得不屏幕刮哪些是不好玩的:(
我知道有數據庫可用地圖位置到時區,但不得不保持。有沒有人想出了一個棘手的解決這個問題?
謝謝!需要說明的有點多
我需要獲取給定地址/位置的時區。假設地址/位置可以反向地理編碼(使用谷歌)到必要的緯度/經度。將位置映射到時區
這意味着我可能沒有郵政編碼。
我真的希望谷歌爲此提供了某種API,但似乎他們沒有。至少你可以谷歌搜索「時間在華盛頓,直流」,並獲得時間/ TZ - 但後來我不得不屏幕刮哪些是不好玩的:(
我知道有數據庫可用地圖位置到時區,但不得不保持。有沒有人想出了一個棘手的解決這個問題?
謝謝!需要說明的有點多
http://www.geonames.org/規定,返回給定的時區API緯度/經度
geonames不是免費的,樣本使用的'demo'帳戶僅限於每天3000個請求。我剛纔正在使用它作爲開發目的,並且它停止工作。 – 2012-11-12 04:20:56
的問題。你是什麼這樣做的目的是什麼?你使用什麼語言?但是,我將如何處理這個問題是:首先,創建一個像結構一樣的表格,將經度轉換爲區域(非常類似於table)。接下來,我會在本地查詢GMT,或者以某種方式在網絡上,最後從表中獲得偏移量並將其添加到GMT。這種方式沒有「維護」表格,因爲這些經度不會改變。
谷歌爲此提供了一個API。
https://maps.googleapis.com/maps/api/timezone/<json or xml>?location=<lat>,<lng>×tamp=<unix timestamp>&sensor=<true or false>
如:
我寫了一個小的Java類來做到這一點,與嵌入代碼的數據結構。如果您想避免使用Web服務,並且22公里的準確度足夠好,並且您很樂意假定時區邊界不會改變,那麼它可能會有所幫助。
https://sites.google.com/a/edval.biz/www/mapping-lat-lng-s-to-timezones
更準確的版本是61484行代碼。代碼的性能如何? – ProgrAmmar 2014-09-02 06:32:30
表現快。這只是對經緯度的二元搜索。 (對任何編譯語言都是快速的,但在PHP中會很慢)。 – 2014-09-03 07:20:57
..誰是「他們?」 – 2010-10-05 20:32:27