教育行业A股IPO第一股(股票代码 003032)

全国咨询/投诉热线:400-618-4000

问答>HTML&JS+前端>如何监视移动设备的位置变化?

如何监视移动设备的位置变化?

来源传智教育2022年06月27日 14时04分25秒

  有一个名词叫做LBS(Location based Service,基于位置的服务),它是通过电信移动运营商的无线电信网络(如GSM网、CDMA网)或外部定位方式(如GPS)获取移动终端用户的位置信息(地理坐标,或大地坐标)。

  getCurrentposition()方法只在调用时会得到位置信息,在LBS应用中,检测用户位置变化是非常常见的需求。一个做法是通过循环调用的方式去检测位置变化。

  例如,设置了一个10s作为获取位置的间隔,这样做的缺点是:编程人员无法知道用户当前的速度。如果在飞机高铁上,10s可能已经走了很长一段距离,这样提供给用户的位置信息可能是延迟的,如果将间隔设置得很短,又会非常耗电、耗能,如果用户长时间没动,这些查询都是无用的。

  为了解决这个人问题,Geolocation还提供了watchPosition()方法,可以让系统通知编程人员用户的位置发生了变化。

  watchPosition()方法和getCurrentPositon()方法在调用上类似,但方法功能与getCurrentPosition()的区别是非常明显的。调用该函数时会返回一个watchID,这个ID和setInterval()函数返回的ID类似,可以用于清除此次的监视操作。

  watchPosition()方法也接受相同的3个参数:success、error回调,以及一个PositionOptions对象。

和我们在线交谈!