首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Android:探测当前位置和感兴趣点之间距离的正确方法吗?

Android:探测当前位置和感兴趣点之间距离的正确方法吗?
EN

Stack Overflow用户
提问于 2015-04-18 19:55:06
回答 1查看 390关注 0票数 0

对于我的android编程方法,我有一个问题--它是否有效。只是想让你知道我想做些什么:

地图上有多个兴趣点。如果用户离坑越近,就会出现关于距离的通知。这里有三个通知:1英里、0.5英里和0.1英里。当用户或多或少地处于陷阱时,就不会显示更多的通知。用户应该驾驶一辆车或另一辆车。

我目前正在使用Geofence来检测用户是否进入了半径为1英里的半径。如果是这样的话,我会检查他目前的位置到坑的距离。如果它在0.5或0.1英里之外,就会发出通知。因此,我经常检查当前位置(现在每10秒)。如果用户就像在坑里,或者说非常接近,那么Geofence就会退出并完成。

代码运行良好,这种方法是我在阅读Android开发人员的教程时想到的第一件事。但是,还有更高效的方法吗?

虽然这(目前)符合我的需要,但我有两项主要关注:

  1. 它似乎消耗了相当多的电池。因为用户最有可能在一辆车里,在使用期间可以给手机充电,所以这可能不是什么大问题。
  2. 我从SD卡上的文件中读取了凹坑的数目。在我的例子中,我只有几个坑。但用户可以修改源数据,以便可以添加任意数量的数据。谷歌表示,每个用户只支持100个活动地理信息。但是,如果我的用户有100多个坑呢?因为我正在使用Geofence来感知是否需要启动第一个通知--这是一个严重的问题。那么还有别的选择吗?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-18 21:41:34

我有几个建议:

1)为了减少gps修复的数量,你可以计算睡眠时间。这样做的目的是在靠近“边界”时进行频繁的gps定位,而在很远的地方很少进行gps定位。考虑到全球定位系统返回的速度参数,可以进一步加强这一点。例如,如果用户在开车20英里/小时时离最近的边界20英里,你可以轻松地等待30分钟,然后再打开gps,举个简单的例子。

2)我遇到了同样的问题。我的解决方案是只选择在X英里内的POI。这样才能确保永远不会冒险达到100的极限。当用户从初始位置移动(X-1)英里时,地理位置将使用新的位置进行重建。如果你认为拥有如此高密度的点的风险很高,上面的策略可能还会下降,我会考虑让你自己的接近检查完全基于gps而不是地理位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29722080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档