问答>HTML&JS+前端>如何监视移动设备的位置变化?
如何监视移动设备的位置变化?
来源传智教育2022年06月27日 14时04分25秒
有一个名词叫做LBS(Location ba
getCurrentposition()方法只在调用时会得到位置信息,在LBS应用中,检测用户位置变化是非常常见的需求。一个做法是通过循环调用的方式去检测位置变化。
例如,设置了一个10s作为获取位置的间隔,这样做的缺点是:编程人员无法知道用户当前的速度。如果在飞机高铁上,10s可能已经走了很长一段距离,这样提供给用户的位置信息可能是延迟的,如果将间隔设置得很短,又会非常耗电、耗能,如果用户长时间没动,这些查询都是无用的。
为了解决这个人问题,Geolocation还提供了watchPosition()方法,可以让系统通知编程人员用户的位置发生了变化。
watchPosition()方法和getCurrentPositon()方法在调用上类似,但方法功能与getCurrentPosition()的区别是非常明显的。调用该函数时会返回一个watchID,这个ID和setInterval()函数返回的ID类似,可以用于清除此次的监视操作。
watchPosition()方法也接受相同的3个参数:success、error回调,以及一个PositionOptions对象。