我有一个导航程序,如果有4个航点,我想在详情列表中突出显示您当前所在的部分,并且我还可以显示到下一个航点的距离和总距离。
所以,你可能有:
但是,如何确定手机何时在不同的航路点上启动。
答案 0 :(得分:2)
使用LocationManager,您可以设置多种方式来更新特定程序。如果您距离航点特定距离,请使用LocationManager.addProximityAlert()发出警报。此外,您可以使用Location
类来获取距离,例如waypoint.distanceTo(currentLocation);
。
答案 1 :(得分:0)
我要使用的解决方案是使用被动提供程序,这样如果使用导航器,那么我的应用程序仍然会知道用户的位置。
然后,只需跟踪它们之前的位置以及它们现在的位置,并查看它们与航点之间的距离差异,一旦它们达到一定距离,然后让它们知道并更改为新的航点。
addProximityAlert让我很难知道要改变哪个航点,它不能像我希望的那样工作,因为我需要知道用户在哪里更新他们的标记,所以没有理由不去同时添加一些计算。