地理位置:getCurrentPosition() 方法
基线 广泛可用
此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自 2015 年 7 月.
语法
Geolocation
接口的 getCurrentPosition()
方法用于获取设备的当前位置。getCurrentPosition(success)
getCurrentPosition(success, error)
getCurrentPosition(success, error, options)
js
参数
-
success
- 一个回调函数,它以
GeolocationPosition
对象作为其唯一的输入参数。 -
error
可选 - 一个可选的回调函数,它以
GeolocationPositionError
对象作为其唯一的输入参数。 -
options
可选- 一个包含以下参数的可选对象
-
maximumAge
可选 - 一个正数
long
值,表示可以接受返回的可能缓存位置的最大年龄(以毫秒为单位)。如果设置为0
,则表示设备不能使用缓存位置,必须尝试检索真实的当前位置。如果设置为Infinity
,则设备必须返回缓存位置,无论其年龄如何。默认值:0
。 -
timeout
可选 - 一个正数
long
值,表示设备允许花费的最大时间长度(以毫秒为单位),以便返回位置。默认值为Infinity
,这意味着getCurrentPosition()
不会在位置可用之前返回。
一个布尔值,表示应用程序希望接收尽可能好的结果。如果为 true
并且设备能够提供更准确的位置,则会这样做。请注意,这会导致响应时间变慢或功耗增加(例如,移动设备上的 GPS 芯片)。另一方面,如果为 false
,则设备可以随意节省资源,通过更快地响应和/或使用更少的功耗来节省资源。默认值:false
。
返回值
示例
Geolocation
接口的 getCurrentPosition()
方法用于获取设备的当前位置。const options = {
enableHighAccuracy: true,
timeout: 5000,
maximumAge: 0,
};
function success(pos) {
const crd = pos.coords;
console.log("Your current position is:");
console.log(`Latitude : ${crd.latitude}`);
console.log(`Longitude: ${crd.longitude}`);
console.log(`More or less ${crd.accuracy} meters.`);
}
function error(err) {
console.warn(`ERROR(${err.code}): ${err.message}`);
}
navigator.geolocation.getCurrentPosition(success, error, options);
规范
无 (undefined )。 |
---|
地理位置 # 规范 |
浏览器兼容性
getcurrentposition-method