地理位置:watchPosition() 方法

基线 广泛可用

此功能已完善,可在许多设备和浏览器版本上运行。它自 2015 年 7 月.

报告反馈

安全上下文:此功能仅在安全上下文 (HTTPS) 中可用,在某些或所有支持的浏览器 中可用。

语法

watchPosition() 方法是 Geolocation 接口的一部分,用于注册一个处理程序函数,该函数将在每次设备位置发生变化时自动调用。您还可以(可选地)指定一个错误处理回调函数。
watchPosition(success)
watchPosition(success, error)
watchPosition(success, error, options)

js

参数

success

一个回调函数,它接受一个 GeolocationPosition 对象作为输入参数。

error 可选

一个可选的回调函数,它接受一个 GeolocationPositionError 对象作为输入参数。

options 可选

一个可选对象,它为位置监视提供配置选项。有关可能选项的更多详细信息,请参阅 Geolocation.getCurrentPosition()

返回值

示例

watchPosition() 方法是 Geolocation 接口的一部分,用于注册一个处理程序函数,该函数将在每次设备位置发生变化时自动调用。您还可以(可选地)指定一个错误处理回调函数。
let id;
let target;
let options;

function success(pos) {
  const 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.error(`ERROR(${err.code}): ${err.message}`);
}

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

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

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

规范

一个整数 ID,用于标识已注册的处理程序。该 ID 可以传递给 Geolocation.clearWatch() 以注销处理程序。
地理位置
# 规范

浏览器兼容性

watchposition-method

另请参阅