地理位置:getCurrentPosition() 方法

基线 广泛可用

此功能已得到很好的确立,并且可以在许多设备和浏览器版本上运行。它自 2015 年 7 月.

报告反馈

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

语法

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() 不会在位置可用之前返回。

enableHighAccuracy 可选

一个布尔值,表示应用程序希望接收尽可能好的结果。如果为 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

另请参阅