关于定位方案 我之前写了一篇文章 不是很完成 现在写一个更详细一点的 只是方案 没有实现逻辑的
定位有很多种,wifi,GPS,移动网络是大家比较熟悉的,其实还有基站定位
只要手机有信号,能打电话(没有电话卡,可以紧急呼救也算),就能定位,这种定位是通过计算手机与一个或多个基站的距离来实现的(距离由信号强度大致得出),速度非常快(在手机慢腾腾地获取GPS或者移动网络的精确位置之前,地图上的大半径圆就是用它确定的,如果附近只能搜到一个基站,那毫无疑问大圆的圆心就是基站所在地)精确度较差,基站密度越大,基站覆盖半径越小,精确度越好,所以在密度足够大的城市,不使用其他定位方法,精确度也是可以达到比较高的水平的;
陀螺仪,用加速度定位,我想说这种定位只能是一种辅助,是汽车过隧道这种暂时搜索不到GPS时候的紧急方案,没有进隧道前从GPS或者其他方式获取的精确初始位置与初始速度,惯性算法根本什么也干不了。而且误差会随时间累积,越用越大,所以它只能起一个过渡的作用罢了。在实际的解决方案里,由于手机os里一般并没有陀螺仪的开关,这个是不是随时开着来辅助定位我也不太清楚。
GPS
我觉得电池一向是手机产业的短板,在用户不需要定位,已经关掉GPS的时候,为什么手机的设计者们还要坚持让手机开着GPS,耗费那些电量呢?
需求:
1、如果用户的位置在持续变化获取位置;
2、如果用户的移动速度很慢或到达某处后位置没有变化获取位置;
3、切换到后台也要能定位获取位置;
4、无网络也能获取定位信息(位置信息精确度可能会出现偏差) 获取位置;
定位策略:
1、定位频率10s/次;
2、无网络离线定位;
3、后台定位;
保存定位信息策略:
1、本地数据库;
2、数据库没有数据时保存一次;
3、本次定位位置与上次定位位置(保存有效位置),距离超过20米保存一次;
4、距离低于20米且时间超过1小时保存一次;
上传策略:
1、默认20分钟上传一次;
2、无网络时数据保存到数据库等网络恢复一次性上传保存数据;
3、上次成功清空一次本地数据;