地理位置:watchPosition() 方法
基线 广泛可用
此功能已完善,可在许多设备和浏览器版本上运行。它自 2015 年 7 月.
语法
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
另请参阅
- 启用 JavaScript 时。启用 JavaScript 以查看数据。
- 使用地理位置 API
- 它所属的接口,
Geolocation
,以及访问它的方式 -Navigator.geolocation
。 - 相反的操作:
Geolocation.clearWatch()