Geolocation.watchPosition()

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

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

構文

navigator.geolocation.watchPosition(success)
navigator.geolocation.watchPosition(success, error)
navigator.geolocation.watchPosition(success, error, options)

引数

success

コールバック関数で、 GeolocationPosition オブジェクトを入力引数として受け取るものです。

error 省略可

任意のコールバック関数で、 GeolocationPositionError オブジェクトを入力引数として受け取るものです。

options 省略可

任意のオブジェクトで、位置を監視する構成オプションを提供します。 利用可能なオプションについての詳細は Geolocation.getCurrentPosition() を参照してください。

返値

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

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);

仕様書

Specification
Geolocation API
# watchposition-method

ブラウザーの互換性

BCD tables only load in the browser

関連情報