我能否使用Google Maps API V3来获取位置的时区?

13

是否可以使用谷歌地图API获取时区信息?我已经在使用它的API进行地理编码和地图显示,现在想添加时区。但是我在文档中找不到任何关于时区的说明。

有什么想法?链接?

2个回答

15
你可以使用时区 API

例如(使用 jQuery):

$.ajax({
   url:"https://maps.googleapis.com/maps/api/timezone/json?location=6.123123,106.213144&timestamp="+(Math.round((new Date().getTime())/1000)).toString(),
})
.done(function(response){
   if(response.data.timeZoneId != null){
     //do something
   }
});

您可以通过GoogleMaps API获取位置坐标(纬度/经度)。

请注意,您需要特定的密钥才能使用此API


请注意,除非您在URL中包含API密钥,否则您将收到“response: ZERO_RESULTS”的响应。您还需要在Google开发人员控制台上激活Google地图时区API的服务器密钥。 - Abraham Brookes
我正在使用Angular2调用此API,但是我遇到了CORS错误 -“请求头字段Access-Control-Allow-Origin”不被“预检请求响应中的Access-Control-Allow-Headers”允许。请帮忙。 - RemyaJ

1
选择时区。

var lat=23.8103771
var long=90.41245449999997
$.ajax({
   url:"https://maps.googleapis.com/maps/api/timezone/json?location=" + lat + "," + long + "&timestamp="+(Math.round((new Date().getTime())/1000)).toString()+"&sensor=false",
   }).done(function(response){
     if(response.timeZoneId != null){
                   var hour=(response.rawOffset)/60
                   //alert(hour)
      
                   $('#timezone option[value="'+hour+'"]').prop('selected', true)
                   
     }
  });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select name="timezone" id="timezone" style="width:300px;">
                  
          <option value="-720">(GMT - 12:00 hours) Enitwetok, Kwajalien</option>
                  
          <option value="-660">(GMT - 11:00 hours) Midway Island, Samoa</option>
                  
          <option value="-600">(GMT - 10:00 hours) Hawaii</option>
                  
          <option value="-540">(GMT - 9:00 hours) Alaska</option>
                  
          <option value="-480">(GMT - 8:00 hours) Pacific Time (US &amp; Canada)</option>
                  
          <option value="-420">(GMT - 7:00 hours) Mountain Time (US &amp; Canada)</option>
                  
          <option value="-360">(GMT - 6:00 hours) Central Time (US &amp; Canada), Mexico City</option>
                  
          <option value="-300">(GMT - 5:00 hours) Eastern Time (US &amp; Canada), Bogota, Lima, Quito</option>
                  
          <option value="-240">(GMT - 4:00 hours) Atlantic Time (Canada), Caracas, La Paz</option>
                  
          <option value="-210">(GMT - 3:30 hours) Newfoundland</option>
                  
          <option value="-180">(GMT - 3:00 hours) Brazil, Buenos Aires, Georgetown, Falkland Isl.</option>
                  
          <option value="-120">(GMT - 2:00 hours) Mid-Atlantic, Ascention Isl., St Helena</option>
                  
          <option value="-60">(GMT - 1:00 hour) Azores, Cape Verde Islands</option>
                  
          <option value="0">(GMT) Casablanca, Dublin, Edinburgh, London, Lisbon, Monrovia</option>
                  
          <option value="60">(GMT + 1:00 hour) Amsterdam, Berlin, Copenhagen, Madrid, Paris, Rome</option>
                  
          <option value="120">(GMT + 2:00 hours) Kaliningrad, South Africa, Warsaw</option>
                  
          <option value="180">(GMT + 3:00 hours) Baghdad, Riyadh, Moscow, Nairobi</option>
                  
          <option value="210">(GMT + 3:30 hours) Tehran</option>
                  
          <option value="240">(GMT + 4:00 hours) Adu Dhabi, Baku, Muscat, Tbilisi</option>
                  
          <option value="270">(GMT + 4:30 hours) Kabul</option>
                  
          <option value="300">(GMT + 5:00 hours) Ekaterinburg, Islamabad, Karachi, Tashkent</option>
                  
          <option value="330">(GMT + 5:30 hours) Bombay, Calcutta, Madras, New Delhi</option>
                  
          <option value="360">(GMT + 6:00 hours) Almaty, Colomba, Dhaka</option>
                  
          <option value="420">(GMT + 7:00 hours) Bangkok, Hanoi, Jakarta</option>
                  
          <option value="480">(GMT + 8:00 hours) Beijing, Hong Kong, Perth, Singapore, Taipei</option>
                  
          <option value="540">(GMT + 9:00 hours) Osaka, Sapporo, Seoul, Tokyo, Yakutsk</option>
                  
          <option value="570">(GMT + 9:30 hours) Adelaide, Darwin</option>
                  
          <option value="600">(GMT + 10:00 hours) Melbourne, Papua New Guinea, Sydney, Vladivostok</option>
                  
          <option value="660">(GMT + 11:00 hours) Magadan, New Caledonia, Solomon Islands</option>
                  
          <option value="720">(GMT + 12:00 hours) Auckland, Wellington, Fiji, Marshall Island</option>
          
        </select>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接