2013-04-02 4 views
10

Возможно ли использовать Google Maps api для захвата часового пояса? Я уже использую его api для геокодирования и отображения карт, я бы хотел добавить часовой пояс. Но я не мог найти ничего в документации.Могу ли я использовать карты google api v3 для получения временной зоны местоположения?

Любые идеи? ссылки?

ответ

15

Надеюсь, я не слишком поздно для этого. Если я, по крайней мере, это может быть полезно для других.

В JavaScript + Jquery, это будет

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

Расположение координат (широта-LNG), конечно, вы можете получить его из Google API для отображения

+0

Обратите внимание, что если вы не включили вас r API в URL-адрес, вы получите ответ «response: ZERO_RESULTS». Вам также необходимо активировать API-интерфейс часового пояса google на вашем ключе сервера, из консоли [google developers] (https://console.developers.google.com/apis/api/timezone_backend/overview) –

+0

Я использую angular2 для вызова этот API, но я получаю ошибку CORS. Поле заголовка запроса. Access-Control-Allow-Origin не разрешено заголовками Access-Control-Allow-Headers в предполетном ответе. Пожалуйста помоги – RemyaJ

1

Выбор часовом поясе

var lat=23.8103771 
 
var long=90.41245449999997 
 
$.ajax({ 
 
\t \t url:"https://maps.googleapis.com/maps/api/timezone/json?location=" + lat + "," + long + "&timestamp="+(Math.round((new Date().getTime())/1000)).toString()+"&sensor=false", 
 
\t \t \t }).done(function(response){ 
 
\t \t \t \t if(response.timeZoneId != null){ 
 
        var hour=(response.rawOffset)/60 
 
        //alert(hour) 
 
\t \t \t \t \t 
 
        $('#timezone option[value="'+hour+'"]').prop('selected', true) 
 
        
 
\t \t \t \t } 
 
\t \t });
<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>

Смежные вопросы