Get to know MDN better
此页面由社区从英文翻译而来。了解更多并加入 MDN Web Docs 社区。
地理位置 API(Geolocation API)允许用户向 web 应用程序提供他们的位置。出于隐私考虑,报告地理位置前会先请求用户许可。
Web 扩展若期望使用 Geolocation 对象,则必须将 "geolocation" 权限添加到其清单(manifest)中。在第一次请求地理位置访问时,用户的操作系统将提示用户提供相应的权限。
通常,要在地图上标出用户的位置或显示与用户地理位置相关的个性化信息时,我们需要在 web 应用程序中检索用户的位置信息。
地理位置 API 是通过调用 navigator.geolocation 来访问的;这将使得用户的浏览器请求获得用户位置数据相关的权限。如果用户授予了权限,则浏览器将使用设备上可用的最佳方式来获取此信息(例如 GPS)。
开发人员现在可用通过不同的方式访问位置信息:
对于上述的几种方法,其回调函数最多有三个参数:
有关地理位置使用的信息,请参阅使用地理位置 API。
该 API 的主类——包含检索用户当前的位置、监听位置变化以及清除先前设置的监听器的方法。
GeolocationPosition表示用户的位置。GeolocationPosition 实例会在成功调用 Geolocation 中的方法时返回。包含了一个时间戳和一个 GeolocationCoordinates 对象实例。
GeolocationCoordinates表示用户位置的坐标。GeolocationCoordinates 实例包含经纬度和其他相关的重要信息。
GeolocationPositionErrorGeolocationPositionError 实例会在未能成功调用 Geolocation 中的方法时返回。包含了错误代码和错误消息。
Navigator.geolocationAPI 的入口点。返回一个 Geolocation 对象实例,从中可以访问所有其他的功能。
参见使用地理位置 API 以获取示例代码。
| Geolocation # geolocation_interface |
启用 JavaScript 以查看此浏览器兼容性表。
基于 Wi-Fi 的位置信息通常由 Google 提供,但该原生的地理位置 API 可能无法在中国使用。你可用使用如百度、高德或腾讯等本地的第三方提供商。这些服务使用用户的 IP 地址或本地应用来提供增强的位置信息。