2012-10-10 47 views
2

可能重複:
How to get the current time in any location谷歌網絡服務,以獲取按位置的時間?

我聽說過谷歌開放的Web服務,即地圖,和我不知道是有什麼類似這樣的時間,貨幣和其他功能谷歌。 關於時間我發現了一個類似的問題,但我想要一些商業用途的解決方案: How to get the current time in any location 哦,我想通過AJAX(客戶端)調用它。

這個想法是提供一個下拉列表與世界各地的一些城市,一旦城市被選中,當地時間在城市應該被顯示。我有問題找到一種算法來包含所有各種夏令時變化,所以這種方法似乎更容易。

+0

鏈接的答案似乎足夠 – Alexander

+0

此外,你可能想看看[經緯度時區查找](http://stackoverflow.com/q/41504/417685) – Alexander

回答

4

Working Demo

使用HTML5 geolocation API,你可以得到當前緯度/經度座標:

var currentPosition; 
navigator.geolocation.getCurrentPosition(function(position) { 
    currentPosition = position; 
}); 

您可以使用此作出ajax requestthe web service您在您的文章提到:

$(function(){ 
    var tzObject; 
    $("button").click(function(){ 
     console.log(currentPosition); 
     var dt = "lat="+currentPosition.coords.latitude + 
       "&lng="+currentPosition.coords.longitude + 
       "&username=demo"; //change to your uName 

     $.get("http://api.geonames.org/timezoneJSON", dt, function(msg) { 
      tzObject = msg; 
      alert(tzObject.time + " " + tzObject.timezoneId); 
     }); 
    });   
}); 

這將返回一個包含相關時區信息的JSON對象。當然,如果你有一組城市列表,可以很容易地存儲他們的經緯度,而只是用這些請求代替。您需要獲取用戶名才能連續使用該Web服務來處理多個請求(使用'demo',每小時限制一次)。

+0

謝謝你的響應,幾乎正是什麼我期待。我只是希望Google能夠提供解決方案。 – efkah