LoginSignup
9

More than 5 years have passed since last update.

Google Time Zone APIの使い方

Posted at

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

タイムゾーン名です。
東京は日本語で日本標準時と表されます。

最後に

いかがだったでしょうか?
意外と簡単に利用できますね。
皆さんも活用してみましょう。

次回は、現地の時間を表示する方法にもチャレンジしてみたいと思います。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9