安全なコンテキスト用
この機能は一部またはすべての対応しているブラウザーにおいて、安全なコンテキスト (HTTPS) でのみ利用できます。

Geolocation の watchPosition() メソッドは、機器の位置が変化するたびに自動的に呼び出されるハンドラー関数を登録するために用いられます。また必要に応じてエラー処理コールバック関数を指定することができます。

このメソッドは watch ID を返し、これを Geolocation.clearWatch() メソッドに渡してハンドラーの登録を解除するために使用することができます。

構文

id = navigator.geolocation.watchPosition(success[, error[, options]])

引数

success
コールバック関数で、 Position オブジェクトを入力引数として受け取るものです。
error Optional
任意のコールバック関数で、 PositionError オブジェクトを入力引数として受け取るものです。
options Optional
任意の PositionOptions オブジェクトで、位置を監視する構成オプションを提供します。

var id, target, options;

function success(pos) {
  var crd = pos.coords;

  if (target.latitude === crd.latitude && target.longitude === crd.longitude) {
    console.log('Congratulations, you reached the target');
    navigator.geolocation.clearWatch(id);
  }
}

function error(err) {
  console.warn('ERROR(' + err.code + '): ' + err.message);
}

target = {
  latitude : 0,
  longitude: 0
};

options = {
  enableHighAccuracy: false,
  timeout: 5000,
  maximumAge: 0
};

id = navigator.geolocation.watchPosition(success, error, options);

アプリケーションが Firefox OS で実行されている場合、バックグラウンドや画面が消えた状態でアプリケーションが位置の更新を取得し続けるためには geolocation wake lock を参照してください。

仕様書

仕様書 状態 備考
Geolocation API
Geolocation.watchPosition() の定義
勧告 初回定義。

ブラウザーの対応

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
基本対応Chrome 完全対応 5Edge 完全対応 ありFirefox 完全対応 3.5IE 完全対応 9Opera 完全対応 16
完全対応 16
未対応 10.6 — 15
Safari 完全対応 ありWebView Android 完全対応 ありChrome Android ? Edge Mobile 完全対応 ありFirefox Android 完全対応 4Opera Android 完全対応 15Safari iOS 完全対応 ありSamsung Internet Android 完全対応 あり

凡例

完全対応  
完全対応
実装状況不明  
実装状況不明

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mfuji09, fscholz, MetalOxdie
最終更新者: mfuji09,