Android GPS距离计算

时间:2017-01-06 06:09:36

标签: android gps distance

我正在尝试计算多个GPS目的地之间的距离。

  

我的方法

我正在使用Google的Matrix API,但它允许最多。 25分。我需要跟踪用户旅行的完整距离。

任何建议都会非常有用。

2 个答案:

答案 0 :(得分:1)

使用Android SDK:

尝试使用位置对象的distanceTo功能,如下所示:

float getTripDistance(List<LatLng> vertices) {
    float totalDistance = 0;

    for (int i = 0; i < vertices.size() - 1; i++) {
        Location tLoc1 = new Location("");
        Location tLoc2 = new Location("");

        tLoc1.setLatitude(vertices.get(i).latitude);
        tLoc1.setLongitude(vertices.get(i).longitude);

        tLoc2.setLatitude(vertices.get(i + 1).latitude);
        tLoc2.setLongitude(vertices.get(i + 1).longitude);

        totalDistance += tLoc1.distanceTo(tLoc2);
    }

    return totalDistance;
}

您可以按顺序遍历所有点,并将每个相应距离以米为单位以获得总行程距离。

答案 1 :(得分:0)

我知道这为时已晚,但这是针对仍在寻找解决方案的用户的。

float[] distanceResults = new float[1];
Location.distanceBetween(oldPosition.latitude, oldPosition.longitude,
        newPosition.latitude, newPosition.longitude, distanceResults);

根据文档,上面的函数计算两个位置之间的近似距离(以米为单位),还可以计算两个位置之间最短路径的初始和最终方位。因此,变量distanceResults的距离以米为单位。