##Google Time Zone APIとは?
簡単に言うと、位置情報から時差やタイムゾーンを取得できるAPIです。
詳細は以下をご参照ください。
https://developers.google.com/maps/documentation/timezone/
###実際に使ってみよう
世界地図をクリックしたら、その場所のタイムゾーンや標準時との時差を表示させてみましょう。
コードはこちらに置いておきます。
https://github.com/hamichamp/google-timezone-api-sample
マップをクリックすると、タイムゾーンや時差を表示してくれると思います。
アラートが出た場合は、タイムゾーンの取得に失敗していますので、適切な位置をクリックしてみてください。
(海をクリックするとよく失敗します。)
##解説
Google Time Zone APIはtimezone-api-sample.jsで呼び出しています。
###呼び出し方
https://maps.googleapis.com/maps/api/timezone/outputFormat?parameters
として呼び出します。
outputFormatにはjsonまたはxmlを指定可能です。
今回はjsonを使用しました。
###必須パラメーター
####location
緯度経度を渡します。
location=-33.86,151.20という形でlat,lngを指定してください。
この位置に関連したタイムゾーンや時差を取得することになります。
####timestamp
時刻を渡します。
UTCとして渡す必要があります。
timestamp=1391606442というような形で指定してください。
ちなみに、なぜ時刻を渡す必要があるのか?という点については、疑問に思ったんですが、
レスポンスにサマータイムによる時差が含まれていることがその理由です。
サマータイム導入地域の時間を指定すると、サマータイム導入地域はその時差も返してくれます。
但し、サマータイムが導入されていない時間を指定するとサマータイムの時差は0として返します。
####sensor
おなじみですね。
GPSセンサーの情報を要求するか否かというものです。
###オプションパラメーター
####language
タイムゾーン名をどの言語で返して欲しいかを指定できます。
今回は日本語で返してもらうために、'ja'を指定しました。
###取得できる情報
####status
OKならば、正常に取得できています。
####dstOffset
サマータイムによる時差を表します。
指定したtimestampの値に依存します。
単位は秒です。
####rawOffset
時差を表します。
単位は秒です。
####timeZoneId
タイムゾーンIDです。
東京はAsia/Tokyoで表されます。
####timeZoneName
タイムゾーン名です。
東京は日本語で日本標準時と表されます。
##最後に
いかがだったでしょうか?
意外と簡単に利用できますね。
皆さんも活用してみましょう。
次回は、現地の時間を表示する方法にもチャレンジしてみたいと思います。