我正在尝试计算多个GPS目的地之间的距离。
我的方法
我正在使用Google的Matrix API,但它允许最多。 25分。我需要跟踪用户旅行的完整距离。
任何建议都会非常有用。
答案 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
的距离以米为单位。