【问题标题】:show Distance within particular kilometers in the selected city显示所选城市特定公里内的距离
【发布时间】:2013-10-22 13:54:09
【问题描述】:

我需要在 codeigniter 中完成一项新任务,我有一个公共汽车旅行项目。根据预订,如班加罗尔到德里,赖布尔到比拉斯普尔,我必须计算距离。并以公里为单位显示。如果用户输入城市来源和目的地,它将自动计算。有人知道这是否可以完成?因为我迫切需要一些帮助。提前致谢!

函数距离($lat1, $lon1, $lat2, $lon2, $unit) {

  $theta = $lon1 - $lon2;
  $dist = sin(deg2rad($lat1)) * sin(deg2rad($lat2)) +  cos(deg2rad($lat1)) * cos(deg2rad($lat2)) * cos(deg2rad($theta));
  $dist = acos($dist);
  $dist = rad2deg($dist);
  $miles = $dist * 60 * 1.1515;
  $unit = strtoupper($unit);

  if ($unit == "K") {
    return ($miles * 1.609344);
  } else if ($unit == "N") {
      return ($miles * 0.8684);
    } else {
        return $miles;
      }
}

echo distance(32.9697, -96.80322, 29.46786, -98.53506, "M") . " Miles<br>";
echo distance(32.9697, -96.80322, 29.46786, -98.53506, "K") . " Kilometers<br>";
echo distance(32.9697, -96.80322, 29.46786, -98.53506, "N") . " Nautical Miles<br>";
    ?>

我试过这个东西,但它很好。根据我的要求。

【问题讨论】:

    标签: codeigniter


    【解决方案1】:

    您需要使用Dijkstra's Algorithm 来查找图中的最短路径。您不能假设路径是直线,就好像您在飞行一样。您需要有一个包含城市之间距离的矩阵。

    【讨论】:

    • 您的意思是“是”还是“它是”可能?你在问问题吗?
    • 请参阅developers.google.com/maps/documentation/webservices,了解如何调用 Google Maps API
    • 我认为使用 Google Maps API 比重新发明轮子要好。但是,您需要确保 Google 服务条款不会给您带来麻烦。
    猜你喜欢
    • 2013-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多