如何在android中找到与折线的距离?

时间:2013-04-22 05:57:15

标签: android google-maps-android-api-2

如何使用map apiV2在Android中的谷歌地图中找到与折线的距离?我希望在用户开始从一个位置移动到另一个位置时找到距离。 我使用了Calculate distance in meters when you know longitude and latitude in java,但两个lat-long之间的距离不是按用户而定 在地图中移动。如果有人知道如何使用折线找到距离,请帮助我。

3 个答案:

答案 0 :(得分:2)

要查找折线的距离,可以使用包含一个方法distanceToLine的PolyUtil类。  编译'com.google.maps.android:android-maps-utils:0.4.+' 在build.gradle中添加此库。 您可以使用Google地图实用程序类

https://developers.google.com/maps/documentation/android-api/utility/

答案 1 :(得分:1)

为此你需要使用线程。在定期间隔,你应该找到当前坐标和最后保存的坐标之间的距离。

原始代码:

Coordinate current, last;
Distance D = 0;

while (true) {
  wait(10000);
  last = current;
  current = getNewCordinate;
  d = D + distFrom(current, last);
}

这个逻辑会有所帮助。

答案 2 :(得分:0)

根据Gevaria Purva给出的答案,我在名为isLocationOnPath的PolyUtil上找到了一个更合适的方法。 对于第三个参数,您最有可能想要传递true