如何找到地方之间的距离

时间:2011-08-10 11:57:45

标签: javascript asp.net distance

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

  1. palace1和place2之间的距离:
  2. palace2和place3之间的距离:
  3. palace3和place4之间的距离:
  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#进行解决。

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

<?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