【问题标题】:How to find the distance between places如何找到地方之间的距离
【发布时间】:2016-01-10 17:41:01
【问题描述】:

我有 4 个文本框,分别是 textbox1、textbox2、textbox3、textbox4。最终用户将在每个文本框中放置 4 个位置,例如 place1、place2、place3、place4。我需要按以下顺序显示地点之间的距离:

  1. 宫殿1和地点2之间的距离:
  2. 宫殿2到地方3的距离:
  3. 宫殿3和地方4的距离:

如何做到这一点?我得到了以下链接的帮助: http://briancray.com/2009/04/01/how-to-calculate-the-distance-between-two-addresses-with-javascript-and-google-maps-api/ 当只有两个文本框时它会有所帮助。但我无法解决我的问题。预计使用 Javascript 或 Jquery 或 ASP.NET 和 C# 的解决方案。

【问题讨论】:

  • 提供了哪些信息来识别地点 - 例如邮政编码/长纬度?您说该链接不能解决您的问题,但它似乎回答了您提出的问题 - 那么为什么它不能解决您的问题呢?你说的是直线距离还是公路距离?文本框的数量不应该是相关的吗?你只需重复计算几次。

标签: javascript asp.net distance


【解决方案1】:

试试这个this 对于 JQuery 不是确切的答案,但你可以修改。并希望在 C# 中进行操作,以便您可以使用 this 获取经度和纬度,并从 maxmind 免费数据库中获取经度和纬度(如果您不想使用中继 API,则可以使用这个)

【讨论】:

    【解决方案2】:

    您需要获取每个位置的地理坐标,然后使用Haversine 公式计算它们之间的大致距离。

    或者,您可以将地址传递给 Google 地图等服务,并使用 API 获取两个地址之间的距离。使用 Google 地图的问题在于您的点击次数有限。

    看看这篇文章: http://www.ig.utexas.edu/outreach/googleearth/latlong.html

    【讨论】:

      【解决方案3】:
      <?php 
      $from = "kathmandu,nepal";
      $to = "mahendranagar,nepal";
      $from = urlencode($from);
      $to = urlencode($to);
      $data = file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?origins=$from&destinations=$to&language=en-EN&sensor=false");
      $data = json_decode($data);
      $time = 0;
      $distance = 0;
      foreach($data->rows[0]->elements as $road) {
          $time += $road->duration->value;
          $distance += $road->distance->value;
      }
      echo "To: ".$data->destination_addresses[0];
      echo "<br/>";
      echo "From: ".$data->origin_addresses[0];
      echo "<br/>";
      $distance=$distance/1600;
      echo "Distance: ".$distance." mile";
      ?>
      //similarly for other 2 location
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-18
        • 1970-01-01
        • 2012-07-02
        • 2011-07-10
        相关资源
        最近更新 更多