0

使用谷歌地图,您实际上可以获得两个地址之间不同的可能路线,还可以获得每条可能路线的长度。

在此处输入图像描述 我现在正在一个网站上工作 google map,我想计算两个不同地址之间的最短路径,就像谷歌地图一样。然后将路径长度作为 javascript 变量返回。

4

2 回答 2

1

您可以使用这些功能:

google.maps.geometry.spherical.computeDistanceBetween (latLng1, latLng1);

参数是两个 LatLng 对象。
确保您包括:

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false&v=3&libraries=geometry"></script>
于 2013-07-23T17:10:56.543 回答
0

我找到了,它可以使用 google map api 计算,Distance Matrix它返回一个包含 The recommended path's lengthand的 json 响应Duration

{
"destination_addresses" : [ "Témara, Maroc" ],
"origin_addresses" : [ "Rabat, Maroc" ],
"rows" : [
  {
     "elements" : [
        {
           "distance" : {
              "text" : "13,6 km",
              "value" : 13620
           },
           "duration" : {
              "text" : "23 minutes",
              "value" : 1358
           },
           "status" : "OK"
        }
     ]
  }
],
"status" : "OK"
}

这应该可以正常工作:

function getDistance()
{
var url="http://maps.googleapis.com/maps/api/distancematrix/json?origins=rabat&destinations=temara&mode=driving&language=fr-FR&sensor=false";
var def = new jQuery.Deferred(); 
$.getJSON(url,function(json)
{
if (json.status=="OK")
{
var distance=json.rows[0].elements[0].distance.text;
}
def.resolve(distance);
});
return def.promise();
}

$.when(getDistance()).then(function(distance){
alert(distance);});

演示

于 2013-07-24T22:02:12.327 回答