地理位置 API
基线 广泛可用
此功能已得到良好发展,可以在许多设备和浏览器版本中使用。它自 2015 年 7 月.
报告反馈
安全上下文: 此功能仅在 安全上下文 (HTTPS) 中可用,在某些或所有 支持的浏览器 中。
地理位置 API 允许用户在愿意的情况下向网页应用程序提供其位置。出于隐私原因,系统会询问用户是否允许报告位置信息。
概念和用法
希望使用 Geolocation
对象的网页扩展必须在其清单中添加 "geolocation"
权限。用户操作系统将在首次请求位置访问时提示用户是否允许访问。
您可能经常希望在网页应用程序中检索用户的位置信息,例如将他们的位置绘制在地图上或显示与其位置相关的个性化信息。
可以通过调用 navigator.geolocation
来访问地理位置 API;这将导致用户的浏览器询问他们是否允许访问其位置数据。如果他们同意,浏览器将使用设备上可用的最佳功能来访问此信息(例如 GPS)。
- 开发人员现在可以通过两种不同的方式访问此位置信息
Geolocation.getCurrentPosition()
:检索设备的当前位置。
Geolocation.watchPosition()
:注册一个处理程序函数,该函数将在每次设备位置发生变化时自动调用,并返回更新后的位置。
- 在这两种情况下,方法调用最多接受三个参数
- 一个必须的成功回调:如果位置检索成功,回调将使用
GeolocationPosition
对象作为其唯一参数执行,提供对位置数据的访问。 - 一个可选的错误回调:如果位置检索不成功,回调将使用
GeolocationPositionError
对象作为其唯一参数执行,提供关于错误发生原因的信息。
一个可选的对象,用于提供位置数据检索选项。
接口
地理位置
-
有关地理位置用法的更多信息,请阅读 使用地理位置 API。
GeolocationPosition
-
此 API 的主类 - 包含用于检索用户当前位置、监控其位置变化以及清除先前设置的监控的方法。
GeolocationCoordinates
-
表示用户的 位置。
GeolocationPosition
实例由对Geolocation
内部的某个方法的成功调用返回,在成功回调内,并包含一个时间戳以及一个GeolocationCoordinates
对象实例。 GeolocationPositionError
-
表示用户位置的坐标;
GeolocationCoordinates
实例包含纬度、经度以及其他重要的相关信息。
GeolocationPositionError
由对 Geolocation
内部的某个方法的不成功调用返回,在错误回调内,并包含错误代码和消息。
-
对其他接口的扩展
示例
API 的入口点。返回一个 Geolocation
对象实例,从中可以访问所有其他功能。
规范
查看 使用地理位置 API 以获取示例代码。 |
---|
地理位置 # 规范 |
浏览器兼容性
geolocation_interface
在启用 JavaScript 的情况下。启用 JavaScript 以查看数据。
可用性
另请参见
- 使用地理位置 API
- 由于基于 Wi-Fi 的定位通常由 Google 提供,因此中国可能无法使用传统的地理位置 API。您可以使用本地第三方提供商,例如 百度、高德地图 或 腾讯。这些服务使用用户的 IP 地址和/或本地应用程序来提供增强的定位。
- w3.org 上的地理位置 API