n***@vip.qq.com
n***@vip.qq.com
  • 发布:2018-06-01 10:00
  • 更新:2018-06-01 11:12
  • 阅读:4637

关于高德定位缓存的问题

分类:HTML5+

最近发现,通过plus.geolocation.getCurrentPosition指定amap获取定位时有重复的现象,比如某次获取成功后,接下来很长一段时间获取到的定位都是重复的,虽然人确实是走动了很远。

这个问题很头疼,我研究了很久,最后发现应该是高德sdk默认启用了定位缓存,我也知道了原生代码可以通过setLocationCacheEnable来控制是否启用定位缓存。

那么问题来了,我们在通过plus.geolocation.getCurrentPosition获取定位时如何告知高德sdk不要启用定位缓存?或者在什么地方、以什么方式能够配置amap sdk的默认定位缓存属性?

很着急,请回复,万分谢谢!

2018-06-01 10:00 负责人:无 分享
已邀请:
DCloud_App_Array

DCloud_App_Array

可以尝试将enableHighAccuracy属性值设置为true。

  • n***@vip.qq.com (作者)

    感觉您的回复。


    下面摘自高德官方:

    当开启定位缓存功能,在高精度模式和低功耗模式下进行的网络定位结果均会生成本地缓存,不区分单次定位还是连续定位。GPS定位结果不会被缓存。


    下面摘自HTML5+官方:

    enableHighAccuracy: (Boolean 类型 )是否高精确度获取位置信息,高精度获取表示需要使用更多的系统资源,默认值为false。


    所以应该不能设置为true,我现在是默认的false,但是仍然出现缓存情况,为什么?可能还是开启的缓存,怎么样才能关闭缓存呢?

    2018-06-01 11:42

  • DCloud_App_Array

    目前还没有关闭缓存的接口,将enableHighAccuracy为true使用的是高精度定位(GPS不会缓存),理论上应该是可以获取更准确的定位。

    2018-06-01 12:03

  • n***@vip.qq.com (作者)

    回复 DCloud_App_Array:谢谢。我担心如果enableHighAccuracy=true,重复的定位会更加多,适得其反

    2018-06-01 12:52

  • n***@vip.qq.com (作者)

    回复 DCloud_App_Array:另外我还发现一个现象,假如关闭app并重新启动又能获取到正确的定位信息了,着实让人匪夷所思,我在想到底是高德的问题还是mui框架的问题。

    2018-06-01 13:13

  • DCloud_App_Array

    这应该是高德缓存的问题,我们调整下定位策略,存在网络的情况就不使用缓存。

    预计今晚会更新Alpha打包机调整此问题。

    2018-06-04 13:18

  • n***@vip.qq.com (作者)

    回复 DCloud_App_Array:谢谢,感谢您的耐心解答,期待此问题得以解决。最后,再向您确认下,您说的打包机是指云打包吧,我们自己的app不需要做任何改动吧。

    2018-06-04 15:25

  • DCloud_App_Array

    是的,请使用HBuilder alpha版本提交云端打包

    2018-06-05 10:54

该问题目前已经被锁定, 无法添加新回复