地理定位

 

概述

地理定位(Geolocation)API是通过navigator的geolocation属性来实现的,geolocation对象用于用户向Web应用程序提供他们的位置。因为隐私,报告地理位置前需要先请求用户许可。

代码示例

浏览器支持检测

通过以下代码可以事先检测浏览器是否支持本API。

  if(window.navigator && window.navigator.geolocation) {
    //支持此API
  } else {
    /不支持此API
  }

获取当前位置

通过getCurrentPosition()方法可以获得用户当前的位置。方法会异步请求获取位置,并查询定位硬件来获取最新信息。

  navigator.geolocation.getCurrentPosition(function(position) {
    //获取位置后
  }

监听位置变换

通过watchPosition()方法可设定一个回调函数来监听用户位置的变换化,该方法的参数与getCurrentPosition()相同。

  var watchID = navigator.geelocation.watchPosition(function(position) {
    //.......
  }

watchPosition()方法会返回一个ID,可将ID传给clearWatch()方法来停止监视用户位置。

  navigator.geolocation.clearWatch(watchID);

参考