1

我正在一个需要计算两个邮政编码之间距离的网站上工作。我有一个数据库表,其中包含邮政编码及其相关的纬度和经度。我利用它来计算两个地方之间的距离。

但我有一个问题,这给了我直线距离而不是行驶距离 - 我怎么能找到它?

我正在使用以下代码

  $lat1 = $this->deg_to_rad($lat1);
   $lon1 = $this->deg_to_rad($lon1);
   $lat2 = $this->deg_to_rad($lat2);
   $lon2 = $this->deg_to_rad($lon2);

   $delta_lat = $lat2 - $lat1;
   $delta_lon = $lon2 - $lon1;

   $temp = pow(sin($delta_lat/2.0),2) + cos($lat1) * cos($lat2) * pow(sin($delta_lon/2.0),2);

   $distance = 3956 * 2 * atan2(sqrt($temp),sqrt(1-$temp));
4

1 回答 1

1

您可以在此处静默调用 Google Maps GDirection()。它不仅为您提供路线,还为您提供实际距离,但这是 javascript 解决方案,将这些数据提供给 php 的唯一方法是捕获接收到的距离并通过 AJAX 发送到 php。

于 2010-08-25T10:36:07.670 回答