<分区>
我正在创建一个骑行应用程序,它是一个类似 Uber 的应用程序。使用 PHP 的 API 与 Android 和 ios 设备进行通信。我的后端代码几乎与 Android 和 ios 应用程序一起完成。现在我在计算实时距离时遇到了问题。如果我使用谷歌距离矩阵 api,谷歌返回我的距离不是我的实时距离。我的意思是谷歌返回基于可用路线。如果我遵循谷歌距离建议的路线对我来说没问题,但如果我使用不同的路线,我该如何计算距离?是否可以计算实时距离?如果可能的话,你能给我一个想法吗?
标签 php android ios google-maps
<分区>
我正在创建一个骑行应用程序,它是一个类似 Uber 的应用程序。使用 PHP 的 API 与 Android 和 ios 设备进行通信。我的后端代码几乎与 Android 和 ios 应用程序一起完成。现在我在计算实时距离时遇到了问题。如果我使用谷歌距离矩阵 api,谷歌返回我的距离不是我的实时距离。我的意思是谷歌返回基于可用路线。如果我遵循谷歌距离建议的路线对我来说没问题,但如果我使用不同的路线,我该如何计算距离?是否可以计算实时距离?如果可能的话,你能给我一个想法吗?
最佳答案
首先你需要计算经纬度的距离。
要计算距离,请使用以下代码:-
private double getDistance(Context context, Location location, Loation PerviousLocation) {
if (location != null && PerviousLocation != null) {
double lat = PerviousLocation.getLatitude();
double longe = PerviousLocation.getLongitude(); ;
float[] distance = new float[1];
Location.distanceBetween(lat, longe, location.getLatitude(), location.getLongitude(), distance);
return distance[0];
}
return 0;
}
现在求时间间隔
private double getDifferenceInTime(Context context, long currentTime, long previousTime) {
long diff = currentTime - previousTime;
return diff / 1000;
}
现在使用速度公式:-
Speed:- distance/time;
Some Time Location Object 也提供速度。使用可以使用Location.getSpeed();
关于php - 如何根据纬度和经度计算距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37452244/