6

我目前正在计算我的一个 wordpress 网站上的一个函数内两点之间的行驶距离。我通过调用使用谷歌距离矩阵来完成此操作

wp_remote_get(
    "http://maps.googleapis.com/maps/api/distancematrix/json?origins=".
    urlencode($origin).
    "&destinations=".
    urlencode($destination).
    "&sensor=false&units=imperial"
)

然后将用户通过表单输入的起点和终点插入 url。是否可以使用类似的方法来计算“乌鸦飞翔”的距离,还是我必须重新设计我的功能?

4

1 回答 1

7

2点之间的距离:(lat1,lon1)到(lat2,lon2)

distance = acos(
     cos(lat1 * (PI()/180)) *
     cos(lon1 * (PI()/180)) *
     cos(lat2 * (PI()/180)) *
     cos(lon2 * (PI()/180))
     +
     cos(lat1 * (PI()/180)) *
     sin(lon1 * (PI()/180)) *
     cos(lat2 * (PI()/180)) *
     sin(lon2 * (PI()/180))
     +
     sin(lat1 * (PI()/180)) *
     sin(lat2 * (PI()/180))
    ) * 3959

3959 是以英里为单位的地球半径。将此值替换为以 KM 为单位的半径(或任何其他单位),以获得相同单位的结果。

您可以通过与此工作示例进行比较来验证您的实现:

于 2012-12-12T17:22:59.130 回答