gpt4 book ai didi

php - 计算两个经度和纬度之间的道路距离

转载 作者:行者123 更新时间:2023-11-30 02:10:29 25 4
gpt4 key购买 nike

我正在尝试开发一个 Android 应用程序。我在我的后端(php MySQL)中列出了一些地方及其经度/纬度和其他描述。我正在尝试获取用户当前位置,并向他显示到这些列出的地点的道路距离及其描述。但是我很难找到从当前位置到所有其他地方的道路距离。我想这样做的一种方法是使用 Google Distance Matrix API但是在这种情况下会有两个 API 调用,

  • 第一个从我的设备到我的后端。
  • 第二个是从后端到 Google Distance matrix API

然后我的后端将向我的设备发送响应。为此调用两个 API 是个好主意吗?有没有其他方法可以轻松做到这一点。我是开发新手,所以如果我错了请原谅我。

谢谢。

最佳答案

public float distance(double lat1, double lng1, double lat2, double lng2) {
double earthRadius = 6371; // kilometers
double dLat = Math.toRadians(lat2 - lat1);
double dLng = Math.toRadians(lng2 - lng1);
double a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLng / 2)
* Math.sin(dLng / 2);
double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));
float dist = (float) (earthRadius * c);

return dist * 1000;
}

现在调用您的代码

float distanceInMeters= distance(oldLatitude, oldLongitude,newLatitude, newLongitude);

关于php - 计算两个经度和纬度之间的道路距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30176532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com