大佬教程收集整理的这篇文章主要介绍了android – 如何在用户的当前位置实现实时更新?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
请注意我覆盖了draw()和drawMyLOCATIOn(),因为我需要绘制一个自定义标记.
我当前的代码如下所示:(我的代码的问题是标记不会随用户一起移动.因为在调用onLOCATIOnChanged之前需要一段时间,标记才会突然从一个地方跳到另一个地方.)
@Override public synchronized void onLOCATIOnChanged(LOCATIOn LOCATIOn) { if (LOCATIOn != null && mapController != null) { //Recenter map based on current LOCATIOn mapController.animateTo(new GeoPoint((int) (LOCATIOn.getLatitude() * 1e6),(int) (LOCATIOn.getLongitude() * 1e6))); } super.onLOCATIOnChanged(LOCATIOn); }
没有正确的方法可以克服这个问题 – 定位服务总是存在不完善之处.我使用的每个位置感知应用程序都会不时“挂起”标记因为gps芯片丢失修复片刻.
你可以做的唯一一点就是要记住移动的速度,并且应该gps丢失修复,根据用户以相同的速度向gps移动的假设,给出地图标记假更新有一个修复.但是只对2-5跳过的实际更新这样做才有意义(只是为了平滑修复丢失几秒钟的情况).
UPD为此,您可以实现一种代理位置监听器,它将严格按照您指定的间隔更新您的标记,例如:每200毫秒,并根据它的存储位置这样做.并且存储的位置可以由真实位置监听器异步更新.位置对象有提供数据的修复时间(参见getTime()方法),您可以使用它来确定是否仍应“预测”下一个标记移动或位置是否足够放弃并通知用户gps没有线索在哪里他们是 :)
以上是大佬教程为你收集整理的android – 如何在用户的当前位置实现实时更新?全部内容,希望文章能够帮你解决android – 如何在用户的当前位置实现实时更新?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。