课程名称:多端全栈项目实战:商业级代驾全流程落地
课程章节: 华夏代驾全栈小程序实战
课程讲师: 神思者
课程内容:
前端实时上传gps定位
课程收获:
首先我们需要定义一个数组
将定位坐标存在数组内 可以减少ajax得请求次数 ,减少服务器压力
然后是要让屏幕常亮 避免司机开到一半需要触屏唤醒
//保持屏幕常亮,避免手机休眠 wx.setKeepScreenOn({ keepScreenOn: true });
uni.startLocationUpdate 开启实时定位
uni.startLocationUpdate开启后会促发 wx.onLocationChange
在 wx.onLocationChange里面可以获取到实时得经纬度 包括速度
这里需要取出 司机得状态 如果司机状态开启 就可以开始接单
如果司机是开始接单状态 就需要实时发送ajax定位
同时也要获取 司机得接单意向 settings
调用接口 /driver/location/updateLocationCache
对返回得数据进行处理
success: function(resp) { if (resp.statusCode == 401) { uni.redirectTo({ url: '/pages/login/login' }); } else if (resp.statusCode == 200 && resp.data.code == 200) { let data = resp.data; if (data.hasOwnProperty('token')) { let token = data.token; uni.setStorageSync('token', token); } console.log("定位更新成功") } else { console.error('更新GPS定位信息失败', resp.data); } }, fail: function(error) { console.error('更新GPS定位信息失败', error); }
处理完成后 需要调用 uni.$emit('updateLocation', location);