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


Posted in Javascript onOctober 11, 2012
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中的delete介绍
Sep 02 Javascript
点击弹出层效果&amp;弹出窗口后网页背景变暗效果的实现代码
Feb 10 Javascript
js实现字符串和数组之间相互转换操作
Jan 12 Javascript
jQuery实现点击查看大图并以弹框的形式居中
Aug 08 Javascript
Knockout结合Bootstrap创建动态UI实现产品列表管理
Sep 14 Javascript
Vue.js使用v-show和v-if的注意事项
Dec 13 Javascript
详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)
Feb 11 Javascript
vue数字类型过滤器的示例代码
Sep 07 Javascript
关于react中组件通信的几种方式详解
Dec 10 Javascript
Angular实现的table表格排序功能完整示例
Dec 22 Javascript
深入学习JavaScript 高阶函数
Jun 11 Javascript
vue实现下拉菜单树
Oct 22 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 #Javascript
JS判断页面加载状态以及添加遮罩和缓冲动画的代码
Oct 11 #Javascript
js函数的延迟加载实现代码
Oct 11 #Javascript
javascript中方便增删改cookie的一个类
Oct 11 #Javascript
js事件(Event)知识整理
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记13 ECMAScript5新特性
Oct 11 #Javascript
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
Oct 11 #Javascript
You might like
php守护进程 加linux命令nohup实现任务每秒执行一次
2011/07/04 PHP
php标签云的实现代码
2012/10/10 PHP
php封装的连接Mysql类及用法分析
2015/12/10 PHP
Yii实现Command任务处理的方法详解
2016/07/14 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
javascript定时器完整实例
2015/02/10 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
微信小程序小组件 基于Canvas实现直播点赞气泡效果
2020/05/29 Javascript
详解vue的数据binding绑定原理
2017/04/12 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
Easyui在treegrid添加控件的实现方法
2017/06/23 Javascript
全新打包工具parcel零配置vue开发脚手架
2018/01/11 Javascript
一篇文章弄懂javascript中的执行栈与执行上下文
2019/08/09 Javascript
手写Vue弹窗Modal的实现代码
2019/09/11 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
Python中asyncore的用法实例
2014/09/29 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
Python计算回文数的方法
2015/03/11 Python
Python编程中运用闭包时所需要注意的一些地方
2015/05/02 Python
探究Python多进程编程下线程之间变量的共享问题
2015/05/05 Python
python网络编程之文件下载实例分析
2015/05/20 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
python multiprocessing模块用法及原理介绍
2019/08/20 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
PyCharm设置注释字体颜色以及是否倾斜的操作
2020/09/16 Python
Python之字典对象的几种创建方法
2020/09/30 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
校园安全演讲稿
2014/05/09 职场文书
2014年工作总结与下年工作计划
2014/11/27 职场文书
语文教师求职信范文
2015/03/20 职场文书
2015年圣诞节寄语
2015/08/17 职场文书
MySQL主从复制断开的常用修复方法
2021/04/07 MySQL
Python爬虫基础讲解之请求
2021/05/13 Python
MySQL中VARCHAR与CHAR格式数据的区别
2021/05/26 MySQL
javascript的setTimeout()使用方法总结
2021/11/20 Javascript