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>


...全文
644 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文档围绕“风储VSG-基于虚拟同步发电机的风储并网系统Simulink仿真”展开,系统介绍了采用虚拟同步发电机(VSG)控制策略的风电与储能联合并网系统的建模与仿真方法。通过Simulink平台构建完整的电力系统动态模型,重点实现VSG的关键控制逻辑,以提升新能源并网的稳定性、惯性响应与频率支撑能力。文档不仅涵盖核心仿真模型,还整合了大量相关前沿研究内容,如混合储能调频、微电网优化、电动汽车可调能力评估、智能算法在电力系统中的应用等,并提供丰富的Matlab/Simulink代码实例,具有较强的科研复现价值和技术参考意义。; 适合人群:具备电力系统基础理论知识和Matlab/Simulink仿真能力的研究生、科研人员及从事新能源发电、储能控制、智能电网等领域工作的工程技术人员;特别适用于正在开展风储协同控制、虚拟同步机、构网型变流器等相关课题研究的高校师生。; 使用场景及目标:① 深入理解虚拟同步发电机(VSG)在风储并网系统中的控制原理与技术优势;② 借助提供的仿真模型与代码完成科研论文复现、算法验证与系统性能测试;③ 探索新能源高渗透背景下提升电网稳定性的关键技术路径,包括惯量模拟、一次频率响应、储能协同控制等。; 阅读建议:建议读者按照文档结构循序渐进地学习,优先下载并运行配套的Simulink模型与Matlab代码,结合VSG控制策略的设计细节进行调试与分析,同时可关注公众号“荔枝科研社”获取完整资源包及持续的技术支持,以提升科研效率与创新能力。

87,987

社区成员

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

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