【设备】地理定位(Geolocation)
- 2019 年 11 月 26 日
- 笔记
概述
地理定位(Geolocation) API 是通过navigator的geolocation属性来实现的,geolocation对象用于用户向Web应用程序提供他们的位置。因为隐私,报告地理位置前需要先请求用户许可。
代码示例
浏览器支持检测
if(window.navigator && window.navigator.geolocation) { //支持此API } else { /不支持此API }
以上代码通过以下代码可以事先检测浏览器是否支持本API。
获取当前位置
通过getCurrentPosition()方法可以获得用户当前的位置。方法会异步请求获取位置,并查询定位硬件来获取最新信息。
navigator.geolocation.getCurrentPosition(function(position) { //获取位置后}
监听位置变化
通过watchPosition()方法可设定一个回调函数来监听用户位置的变换化,该方法的参数与getCurrentPosition()相同。
var watchID = navigator.geelocation.watchPosition(function(position) { //....... }
watchPosition()方法会返回一个ID,可将ID传给clearWatch()方法来停止监视用户位置。
navigator.geolocation.clearWatch(watchID);