欢迎来到代码驿站!

JavaScript代码

当前位置:首页 > 网页前端 > JavaScript代码

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

时间:2021-06-03 09:10:39|栏目:JavaScript代码|点击:
复制代码 代码如下:

var request;
var distanceArray = [];
function getdistance() {
distanceArray = [];
var directionsService = new google.maps.DirectionsService();
for (var a = 0; a < pointsArray.length; a++) {
for (var b = 0; b < pointsArray.length; 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循环一个一个按序获得距离的期望失败了。但是如果在其中加入调试,一步一步控制其循环求解的过程,却能得出有序距离数组。不得其解啊!

上一篇:JavaScript实现答题评分功能页面

栏    目:JavaScript代码

下一篇:JS/jQuery实现DIV延时几秒后消失或显示的方法

本文标题:利用谷歌地图API获取点与点的距离的js代码

本文地址:http://www.codeinn.net/misctech/134398.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有