Heim  >  Artikel  >  Web-Frontend  >  利用谷歌地图API获取点与点的距离的js代码_javascript技巧

利用谷歌地图API获取点与点的距离的js代码_javascript技巧

WBOY
WBOYOriginal
2016-05-16 17:49:201139Durchsuche
复制代码 代码如下:

var request;
var distanceArray = [];
function getdistance() {
distanceArray = [];
var directionsService = new google.maps.DirectionsService();
for (var a = 0; a for (var b = 0; b if (a != b) {
request = null;
request = {
origin: pointsArray[a],
destination: pointsArray[b],
travelMode: google.maps.DirectionsTravelMode.DRIVING,
unitSystem: google.maps.DirectionsUnitSystem.METRIC
};
directionsService.route(request, function (response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var myRoute = response.routes[0].legs[0].distance.value; //路线长度
distanceArray.push(myRoute);
}
});
}
}
}
}

有一个问题想与大家交流一下,利用谷歌地图API获取批量的点点之间的距离时,如何保证自己得到的距离信息是有序的?

比如:有pointsArray[]中有a,b,c三个点的数据,我怎么才能按序得到[a,b],[a,c],[b,a],[b,c],[c,a],[c,b]的距离信息。

在上面的代码中,所有a!=b的距离都是一次性传给directionsService.route进行求解的,也就是说,外围的FOR循环控制对其没有用。所以想依靠FOR循环一个一个按序获得距离的期望失败了。但是如果在其中加入调试,一步一步控制其循环求解的过程,却能得出有序距离数组。不得其解啊!
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn