利用谷歌地图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 相关文章推荐
2014 HTML5/CSS3热门动画特效TOP10
Dec 07 Javascript
jquery实现文本框的禁用和启用
Dec 07 Javascript
jQuery zTree树插件简单使用教程
Jan 10 Javascript
js实现鼠标拖动功能
Mar 20 Javascript
webpack构建react多页面应用详解
Sep 15 Javascript
Node.js使用cookie保持登录的方法
May 11 Javascript
Bootstrap 模态框自定义点击和关闭事件详解
Aug 10 Javascript
Vue登录注册并保持登录状态的方法
Aug 17 Javascript
小程序getLocation需要在app.json中声明permission字段
Apr 04 Javascript
详解element-ui级联菜单(城市三级联动菜单)和回显问题
Oct 02 Javascript
Vue修改项目启动端口号方法
Nov 07 Javascript
jQuery事件模型默认行为执行顺序及trigger()与 triggerHandler()比较实例分析
Apr 30 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文件的实现方法
2007/03/19 PHP
PHP与MySQL开发中页面出现乱码的一种解决方法
2007/07/29 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
2016/02/16 PHP
php Session无效分析资料整理
2016/11/29 PHP
Yii2框架实现登录、退出及自动登录功能的方法详解
2017/10/24 PHP
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
JSF中confirm弹出框的用法示例介绍
2014/01/07 Javascript
Extjs Label的 fieldLabel和html属性值对齐的方法
2014/06/15 Javascript
原生javascript实现的分页插件pagenav
2014/08/28 Javascript
使用window.prompt()实现弹出用户输入的对话框
2015/04/13 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
JS实现的几个常用算法
2016/11/12 Javascript
JavaScript定时器制作弹窗小广告
2017/02/05 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
简单谈谈CommonsChunkPlugin抽取公共模块
2017/12/31 Javascript
package.json配置文件构成详解
2019/08/27 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
Python对数据库操作
2016/03/28 Python
Python3控制路由器——使用requests重启极路由.py
2016/05/11 Python
基于Pandas读取csv文件Error的总结
2018/06/15 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
python输出带颜色字体实例方法
2019/09/01 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
马耳他航空公司官方网站:Air Malta
2019/05/15 全球购物
在阿联酋购买翻新手机和平板电脑:Teckzu
2021/02/12 全球购物
一句话工作感言
2014/03/01 职场文书
热爱祖国演讲稿
2014/05/04 职场文书
七夕相亲活动策划方案
2014/08/31 职场文书
Java日常练习题,每天进步一点点(38)
2021/07/26 Java/Android
《模拟人生4》推出新补丁 “婚礼奇缘”DLC终于得到修复
2022/04/03 其他游戏
字节飞书面试promise.all实现示例
2022/06/16 Javascript