使用谷歌地图,您实际上可以获得两个地址之间不同的可能路线,还可以获得每条可能路线的长度。
我现在正在一个网站上工作 google map
,我想计算两个不同地址之间的最短路径,就像谷歌地图一样。然后将路径长度作为 javascript 变量返回。
使用谷歌地图,您实际上可以获得两个地址之间不同的可能路线,还可以获得每条可能路线的长度。
我现在正在一个网站上工作 google map
,我想计算两个不同地址之间的最短路径,就像谷歌地图一样。然后将路径长度作为 javascript 变量返回。
您可以使用这些功能:
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>
我找到了,它可以使用 google map api 计算,Distance Matrix
它返回一个包含 The recommended path's length
and的 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);});