JavaScriptで位置情報を取得。

HTML5 の Geolocation API に対応しているブラウザであれば、

navigator.geolocation

で位置情報にアクセスできます。

位置情報を取得するメソッドはふたつ。

getCurrentPosition( showLocation, ErrorHandler, options )

  • 現在の位置情報を一回だけ取得。
  • showLocation:位置情報が取得できたときに呼ばれるコールバックメソッド。
  • ErrorHandler:エラーが発生した時のコールバック。省略可。
  • options:オプション。省略可。

watchPosition( showLocation, ErrorHandler, options )

  • 位置を監視し続ける。
  • 引数は getCurrentPosition と同様。
  • 戻り値は watchID
  • 停止する時は clearWatch( watchID ) を呼ぶ。

コールバック関数 showLocation には、位置情報を含んだ Position オブジェクトが渡されます。オブジェクトの中身は、

  • Position.coords.latitude:緯度
  • Position.coords.longitude:経度
  • Position.coords.altitude:高度
  • Position.coords.accuracy:緯/経度の正確さ
  • Position.coords.altitudeAccuracy:高度の正確さ
  • Position.coords.heading:進行方向
  • Position.coords.speed:進行速度
  • Position.timestamp:位置情報を取得した時刻のタイムスタンプ

デバイスやブラウザによって、利用できないプロパティがあります。利用できない場合は null が返ってきます。

 → 実際に動作するシンプルなサンプル:iPhoneで動作確認。

 一発測定(getCurrentPosition)だと、あまり精度が良くない。watchPosition を使うと、測定の度に徐々に精度が高まっていくようです。

カテゴリ: