js实现调用百度地图api,实现多对多的驾驶距离计算

weixin_41855510 2018-03-18 08:49:20
实现功能:excel中读取源地址和目标地址,计算好以后写回txt文本.

search的循环调用好像有问题,请大师指点下,或者写到settimeout的计时器里面怎么操作.

<script type="text/javascript">
var ForWriting = 2;
var strFile = "C:\\Users\\nido\\Desktop\\test.txt";
var objFSO = new ActiveXObject("Scripting.FileSystemObject");
// 打开文本文件
var objStream = objFSO.OpenTextFile(strFile,ForWriting,true,false);
objStream.WriteLine("nido\n");
//定义写入文件的几个变量字段
var output = "从上地到西单驾车需要";
var start="";
var end="";
// 百度地图API功能
var map = new BMap.Map("allmap");
map.centerAndZoom("北京",15); // 初始化地图,用城市名设置地图中心点
var searchComplete = function (results){
//alert("bbb");
if (transit.getStatus() != BMAP_STATUS_SUCCESS){
return ;
}
//alert("aaa");
var plan = results.getPlan(0);

output += plan.getDuration(true) + "\n"; //获取时间
output += "总路程为:" ;
output += plan.getDistance(true) + "\n"; //获取距离
//alert(output);
//objStream.WriteLine("nido\n");
objStream.writeLine( start+"|"+end+"|"+plan.getDuration(true)+"|"+ plan.getDistance(true));
}
var transit = new BMap.DrivingRoute(map, {renderOptions: {map: map},
onSearchComplete: searchComplete,
onPolylinesSet: function(){
//setTimeout(function(){alert(output)},"1000");
setTimeout(function(){transit.search(start,end)},"1000");
}});

var filePath ="C:\\Users\\nido\\Desktop\\address.xls";
//创建操作EXCEL应用程序的实例
try{var oXL = new ActiveXObject("Excel.application");}
catch (err){alert(err);}
//打开指定路径的excel文件
try{
var oWB = oXL.Workbooks.open(filePath);
}
catch (err){alert(err);}
//操作第一个sheet(从一开始)
oWB.worksheets(1).select();
var oSheet = oWB.ActiveSheet;
//使用的行数
var rows = oSheet .usedrange.rows.count;
alert("开始计算距离");
for (var i = 1; i <= rows; i++) {
start =oSheet.Cells(i, 1).value ;
end=oSheet.Cells(i, 2).value ;
alert(i);
transit.search(start,end);
}
//退出操作excel的实例对象
oXL.Application.Quit();
//手动调用垃圾收集器
CollectGarbage();
objStream.Close(); // 关闭文件
</script>


...全文
578 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧