解决方案
获取位置时有两种策略,精度优先和速度优先,参考相关文档。
- 耗时较长的可能原因:当选择精度优先策略时,系统会同时尝试获取GNSS(如GPS)定位与网络定位结果,并返回精度更高的一个。GNSS定位时需要GPS信号,在某些GPS信号不好的场景下(如室内、高楼密集区等)就会一直获取不到GNSS定位的结果,直到达到预设的超时时间才会返回网络定位的结果,导致整体耗时较长。
- 若可接受较低精度,且注重响应速度,推荐使用速度优先策略,显著提升用户体验。
- 若对定位精度要求高(如导航、精准轨迹记录),还是需要选择精度优先策略,可以在获取定位过程中增加一个加载中的页面(提示用户在GPS信号或网络信号不好的情况下耗时会较长),避免用户误以为应用卡顿。