使用谷歌地图,您实际上可以获得两个地址之间的不同可能路线,也可以获得每条可能路线的长度。
我现在在google map
的网站上工作,我想计算两个不同地址之间的最短路径,就像谷歌地图一样。然后将路径长度作为javascript变量返回。
答案 0 :(得分: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>
答案 1 :(得分:0)
我发现它,可以使用名为Distance Matrix
的谷歌地图api计算它返回包含The recommended path's length
和Duration
的json响应。
{
"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);});