利用谷歌地图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 相关文章推荐
jQuery UI AutoComplete 自动完成使用小记
Aug 21 Javascript
JS实现程序暂停与继续功能代码解读
Oct 10 Javascript
AngularJS中的包含详细介绍及实现示例
Jul 28 Javascript
JS实现放大、缩小及拖拽图片的方法【可兼容IE、火狐】
Aug 23 Javascript
JS动态添加选项案例分析
Oct 17 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
Dec 01 Javascript
jquery中绑定事件的异同
Feb 28 Javascript
对存在JavaScript隐式类型转换的四种情况的总结(必看篇)
Aug 31 Javascript
React全家桶环境搭建过程详解
May 18 Javascript
微信小程序实现拖拽功能
Sep 26 Javascript
微信小程序表单验证WxValidate的使用
Nov 27 Javascript
jQuery实时统计输入框字数及限制
Jun 24 jQuery
关于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 cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
php中使用__autoload()自动加载未定义类的实现代码
2013/02/06 PHP
php查找任何页面上的所有链接的方法
2013/12/03 PHP
phpword插件导出word文件时中文乱码问题处理方案
2014/08/19 PHP
用PHP代码在网页上生成图片
2015/07/01 PHP
php实现用户注册密码的crypt加密
2017/06/08 PHP
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
只需一行代码,轻松实现一个在线编辑器
2013/11/12 Javascript
js获取select默认选中的Option并不是当前选中值
2014/05/07 Javascript
基于jquery实现的文字向上跑动类似跑马灯的效果
2014/06/17 Javascript
JavaScript跨域方法汇总
2014/10/16 Javascript
详解JavaScript的Polymer框架中的通知交互
2015/07/29 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
详解js几个绕不开的事件兼容写法
2017/08/30 Javascript
Vue 源码分析之 Observer实现过程
2018/03/29 Javascript
详解node字体压缩插件font-spider的用法
2018/09/28 Javascript
在Create React App中启用Sass和Less的方法示例
2019/01/16 Javascript
D3.js(v3)+react 实现带坐标与比例尺的散点图 (V3版本)
2019/05/09 Javascript
初试vue-cli使用HBuilderx打包app的坑
2019/07/17 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
[01:07:13]TNC vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
python自动化测试实例解析
2014/09/28 Python
Python对文件操作知识汇总
2016/05/15 Python
python获取代码运行时间的实例代码
2018/06/11 Python
Python3.5集合及其常见运算实例详解
2019/05/01 Python
中外合拍动画首获奥斯卡提名,“上海出品”《飞奔去月球》能否拿下最终大奖?
2021/03/16 国漫
一篇文章带你学习CSS3图片边框
2020/11/04 HTML / CSS
Internal修饰符有什么含义
2013/07/10 面试题
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
师范毕业生自我鉴定
2014/01/15 职场文书
销售员岗位职责范本
2014/02/03 职场文书
送温暖献爱心活动总结
2014/07/08 职场文书
4S店客服专员岗位职责
2015/04/07 职场文书
Python 中数组和数字相乘时的注意事项说明
2021/05/10 Python
vue-cropper插件实现图片截取上传组件封装
2021/05/27 Vue.js