微信运动小程序,实现经纬度信息上报与绘制运动轨迹。
需求:
1、位置不变化时也上报,亮屏状态每隔两秒触发onLocationChange
2、api没有提供参数控制onLocationChange的上报间隔
以下的代码可能解决以上两个问题。
实现:
wx.startLocationUpdate({success:(res) ={ wx.onLocationChange((data) ={//获取当前时间varcurrentTime =newDate().getTime();//获取上次保存的位置信息varoldLocation = wx.getStorageSync('oldLocation');//获取上次执行的时间varoldTime = wx.getStorageSync('oldTime');//将经纬度拼接varnewLocation = data.latitude+""+data.longitude;//判断当前的位置是否和上次位置不一致,并且间隔时间超过5sif(oldLocation!=newLocation5000){//缓存当前最新位置wx.setStorageSync('oldLocation',newLocation);//缓存当前执行的时间wx.setStorageSync('oldTime',currentTime);//将位置信息上传后台的自己的代码uploadLocation; } }); },fail:(err) ={ consoler.log; } })