谷歌网络服务按位置获取时间?

时间:2012-10-10 10:16:04

标签: javascript jquery google-api

  

可能重复:
  How to get the current time in any location

我听说过开放的Google WebServices,即地图,我想知道谷歌的时间,货币和其他功能有类似的东西。 关于时间我发现了一个类似的问题,但我想要一些商业用途的解决方案: How to get the current time in any location 哦,我想通过AJAX(客户端)来调用它。

这个想法是在世界各地的一些城市提供下拉列表,一旦选择了城市,应该显示城市的当地时间。我遇到了一个问题,找到一个算法来包含所有不同的Summertime-Changes,所以这种方法似乎更容易。

1 个答案:

答案 0 :(得分: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',这是一个小时限制)。