之前做百度地图定位这个功能,碰到的问题非常多,这里总结一下,百度地图官方文档里面解释的很清楚,现在百度定位采用的是GPS,基站,Wi-Fi等多种定位方式,适用于室、内外多种定位场景,但是这个优先级我们是可以调整的。
1.定位方式 是gps优先还是 基站定位优先
option.setPriority(LocationClientOption.NetWorkFirst); // 设置网络优先
option.setPriority(LocationClientOption.GpsFirst); //设置gps优先
2.定位环境 有网定位 无网络定位
百度地图中如果你将定位设置为 gps优先,这个即使你的手机无法联网并且不插电话卡也是可以定位出坐标的(肯定是可以的)。
无网络 定位模式下,不需要连接网络,只使用GPS进行定位,但是这种模式下不支持室内环境的定位。在室内基本是肯定获取不到坐标的,我测试过。
而且这个就算是在室外 可能也要等1—3分钟不等才能拿到值(和手机机型设备有关,后面会具体讲到)。
注意:还有一种特殊情况就是 ----在有网络的情况下将定位方式设置为 gps优先,这种情况会很快的获取到坐标,但是这个坐标是 返回 的基站坐标 所以误差比较大。
有的人想问设置的gps优先 为什么返回的是基站坐标呢? 跟大家说一下 ,这个问题我专门咨询过百度地图定位sdk