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 を使うと、測定の度に徐々に精度が高まっていくようです。
コメント