先来看两个问题:路线规划与导航有什么区别?步行导航与驾车导航有什么区别? 回答: 1、路线规划,指的是为用户提供3条路线推荐。【高德】在提供路线规划的时候,会提供用户自定义路线规划功能,这是别家没有做到的。导航,指的是为驾车用户提示路口信息,向左向右,进入匝道等信息。 2、我们这里说的步行导航和驾车导航,严格的说,应该是路线规划。从A地到B地,如果是驾车,路线规划会将公路路网做为搜索数据;如果是步行,过街天桥、地下通道、人行道做为搜索数据。 -------------------------------------------------------------------------------------------------------
一、路线规划——驾车 1、驾车路线规划 有三种策略,分别是最短时间、最少费用、最短路径、规避拥堵(参考了实时交通数据,这个比较NB)。 LEAST_TIME,LEAST_FEE LEAST_DISTANCEREAL_TRAFFIC
我们在这里采取驾车插件来做。代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//驾车导航</li><li>function driving_route() {</li><li> clearMap();</li><li> mapObj.plugin(["AMap.Driving"] function() {</li><li> var DrivingOption = {</li><li> policy: AMap.DrivingPolicy.LEAST_TIME</li><li> };</li><li> MDrive = new AMap.Driving(DrivingOption); //构造驾车导航类</li><li> AMap.event.addListener(MDrive "complete" driving_routeCallBack); //返回导航查询结果</li><li> MDrive.search(start_xy end_xy); //根据起终点坐标规划驾车路线</li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
示意图:
2、驾车最后一公里步行 在最开始一段,和最后一段步行距离的时候,可以用虚线来表示。 代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//起点到路线的起点 路线的终点到终点 绘制无道路部分</li><li> var extra_path1 = new Array();</li><li> extra_path1.push(start_xy);</li><li> extra_path1.push(steps[0].path[0]);</li><li> var extra_line1 = new AMap.Polyline({</li><li> map: mapObj</li><li> path: extra_path1</li><li> strokeColor: "#9400D3"</li><li> strokeOpacity: 0.7</li><li> strokeWeight: 4</li><li> strokeStyle: "dashed" //虚线</li><li> strokeDasharray: [10 5]</li><li> });</li><li></li><li> var extra_path2 = new Array();</li><li> var path_xy = steps[(steps.length-1)].path;</li><li> extra_path2.push(end_xy);</li><li> extra_path2.push(path_xy[(path_xy.length-1)]);</li><li> var extra_line2 = new AMap.Polyline({</li><li> map: mapObj</li><li> path: extra_path2</li><li> strokeColor: "#9400D3"</li><li> strokeOpacity: 0.7</li><li> strokeWeight: 4</li><li> strokeStyle: "dashed" //虚线</li><li> strokeDasharray: [10 5]</li><li> });
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
效果图:
3、驾车导航拖拽效果 如果要可拖拽的效果,需要使用另外一个插件,AMap.DragRoute。 代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//可拖拽的驾车导航</li><li>function driving_route_drag(){</li><li> clearMap();</li><li> var path = [start_xyend_xy];</li><li> mapObj.plugin("AMap.DragRoute"function(){</li><li> MDrive = new AMap.DragRoute(mapObj path AMap.DrivingPolicy.LEAST_FEE); //构造拖拽导航类</li><li> MDrive.search(); //查询导航路径并开启拖拽导航</li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
示意图:
示例查看:http://zhaoziang.com/amap/zero_5_1.html
二、路线规划——公交 1、公交导航 公交导航不仅是路线相关的,还是根据公交车路线数据,进行查询。使用到插件AMap.LineSearch。
代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//公交线路查询</li><li>function lineSearch() {</li><li> clearMap();</li><li> //加载公交线路查询插件</li><li> //实例化公交线路查询类,只取回一条路线</li><li> mapObj.plugin(["AMap.LineSearch"] function() {</li><li> var linesearch = new AMap.LineSearch({</li><li> pageIndex:1</li><li> city:'北京'</li><li> pageSize:1</li><li> extensions:'all'</li><li> });</li><li> //搜索“518”相关公交线路</li><li> linesearch.search('518');</li><li> AMap.event.addListener(linesearch "complete" lineSearch_Callback);</li><li> AMap.event.addListener(linesearch "error" function(e){alert(e.info);
- </li><li> });</li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
效果图:
2、公交线路查询,如518 查询公交线路,需要注明城市。每个城市都可能有518路线,对吧。
代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//公交线路查询</li><li>function lineSearch() {</li><li> clearMap();</li><li> //加载公交线路查询插件</li><li> //实例化公交线路查询类,只取回一条路线</li><li> mapObj.plugin(["AMap.LineSearch"] function() {</li><li> var linesearch = new AMap.LineSearch({</li><li> pageIndex:1</li><li> city:'北京'</li><li> pageSize:1</li><li> extensions:'all'</li><li> });</li><li> //搜索“518”相关公交线路</li><li> linesearch.search('518');</li><li> AMap.event.addListener(linesearch "complete" lineSearch_Callback);</li><li> AMap.event.addListener(linesearch "error" function(e){alert(e.info);
- </li><li> });</li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
示意图:
3、通过站点,查公交线路 比如,我在北京东直门,想知道东直门都有哪些公交路线。使用服务插件AMap.StationSearch。
代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//公交站点查询</li><li>function stationSearch() {</li><li> clearMap();</li><li> //加载公交站点查询插件</li><li> mapObj.plugin(["AMap.StationSearch"] function() {</li><li> //实例化公交站点查询类</li><li> var station = new AMap.StationSearch({</li><li> pageIndex: 1 //页码</li><li> pageSize: 10 //单页显示结果条数</li><li> city:'010' //确定搜索城市</li><li> });</li><li> station.search('东直门'); //查询</li><li> AMap.event.addListener(station 'complete' stationSearch_CallBack);</li><li> AMap.event.addListener(station 'error' function(e) {alert(e.info);});
- </li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
示例图:
示例查看:http://zhaoziang.com/amap/zero_5_1.html
三、路线规划——步行 步行,可以过天桥啊,地下通道啊,穿过小区啊,不能走高速公路啊,等特点。
代码: - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li>//步行导航</li><li>function walking_route() {</li><li> var MWalk;</li><li> mapObj.plugin(["AMap.Walking"] function() {</li><li> MWalk = new AMap.Walking(); //构造路线导航类</li><li> AMap.event.addListener(MWalk "complete" walk_routeCallBack); //返回导航查询结果</li><li> MWalk.search(start_xy end_xy); //根据起终点坐标规划步行路线</li><li> });</li><li>}
- </li></ul>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></font></font></font></div>
复制代码
效果图:
示例查看:http://zhaoziang.com/amap/zero_5_1.html
四、小结 驾车,公交,步行的区别 1、从效果图里可以看出,这三种路线规划是搜索的不同数据库。 2、他们的服务插件不一样,都是通过【高德服务插件】进行调用。比原生API接口封装得更加完善,使用起来更加简单。
五、全部源代码 - <div align="left"><font face="Verdana Arial Helvetica sans-serif"><font style="font-size: 13px"></font></font></div><div align="left"><font color="rgb(102, 102, 102)"><ul type="1" class="litype_1"><li><!DOCTYPE HTML></li><li><html></li><li><head></li><li><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- </li><li><title>地图路线规划服务</title>
- </li><li><link rel="stylesheet" type="text/css" href="zero.css" />
- </li><li><script language="javascript" src="http://webapi.amap.com/maps?v=1.2&key=caaa086bdf5666322fba3baf5a6a2c03"></script></li><li></head></li><li><body></li><li> <div id="iCenter"></div></li><li> <div id="iControlbox"></li><li> <p>坐标:<span id="lnglats"> </span></p></li><li> <ul></li><li> <li></li><li> <button>驾车路线规划</button></li><li> <button>可拖拽插件</button></li><li> </li></li><li> <li></li><li> <button>公交路线规划</button></li><li> <button>518路公交车</button></li><li> <button>东直门站点</button></li><li> </li></li><li> <li></li><li> <button>步行路线规划</button></li><li> </li></li><li> <li></li><li> <button>清空地图</button></li><li> </li></li><li> </ul></li><li> </div></li><li> <div id="result"></div></li><li><!-- tongji begin--></li><li><script type="text/javascript"></li><li>var _bdhmProtocol = (("https:" == document.location.protocol) ? " https://" : " http://");</li><li>document.write(unescape("%3Cscript src='" + _bdhmProtocol + "hm.baidu.com/h.js%3Faeff88f19045b513af7681b011cea3bd' type='text/javascript'%3E%3C/script%3E"));</li><li></script></li><li><!-- tongji end --></li><li></body></li><li><script language="javascript"></li><li>function setLi(id1id2){</li><li> document.getElementById("box1").style.display = "none";</li><li> document.getElementById("box2").style.display = "none";</li><li> document.getElementById("box3").style.display = "none";</li><li> document.getElementById(id1).style.display = "block";</li><li></li><li> document.getElementById("iLi1").style.background = "#eee";</li><li> document.getElementById("iLi2").style.background = "#eee";</li><li> document.getElementById("iLi3").style.background = "#eee";</li><li> document.getElementById(id2).style.background = "#fff";</li><li>}</li><li></li><li>var mapObj;</li><li>var route_text</li><li>var steps;</li><li>var polyline;</li><li>var MDrive;</li><li>var btContent = new Array(); //结果表格数组</li><li>var resultStr;//结果拼接string</li><li>var resLine = ''; //结果表格对象</li><li>//初始化地图对象,加载地图</li><li>function mapInit(){</li><li> mapObj = new AMap.Map("iCenter"{</li><li> center:new AMap.LngLat(116.39742839.90923) //地图中心点</li><li> level:11 //地图显示的比例尺级别</li><li> });</li><li> AMap.event.addListener(mapObj'click'getLnglat); //点击事件</li><li>}</li><li>//鼠标点击,获取经纬度坐标</li><li>function getLnglat(e){</li><li> var x = e.lnglat.getLng();</li><li> var y = e.lnglat.getLat();</li><li> document.getElementById("lnglats").innerHTML = x + "" + y;</li><li>}</li><li>//清空地图</li><li>function clearMap(){</li><li> mapObj.clearMap();</li><li> document.getElementById("result").innerHTML = ' ';</li><li>}</li><li>//起、终点</li><li>var start_xy = new AMap.LngLat(116.37901839.865026);</li><li>var end_xy = new AMap.LngLat(116.321139 39.896028);</li><li>//驾车导航</li><li>function driving_route() {</li><li> clearMap();</li><li> mapObj.plugin(["AMap.Driving"] function() {</li><li> var DrivingOption = {</li><li> //驾车策略,包括 LEAST_TIME,LEAST_FEE LEAST_DISTANCEREAL_TRAFFIC</li><li> policy: AMap.DrivingPolicy.LEAST_TIME</li><li> };</li><li> MDrive = new AMap.Driving(DrivingOption); //构造驾车导航类</li><li> AMap.event.addListener(MDrive "complete" driving_routeCallBack); //返回导航查询结果</li><li> MDrive.search(start_xy end_xy); //根据起终点坐标规划驾车路线</li><li> });</li><li>}</li><li>//可拖拽的驾车导航</li><li>function driving_route_drag(){</li><li> clearMap();</li><li> var path = [start_xyend_xy];</li><li> mapObj.plugin("AMap.DragRoute"function(){</li><li> MDrive = new AMap.DragRoute(mapObj path AMap.DrivingPolicy.LEAST_FEE); //构造拖拽导航类</li><li> MDrive.search(); //查询导航路径并开启拖拽导航</li><li> });</li><li>}</li><li>//导航结果展示</li><li>function driving_routeCallBack(data) {</li><li> var routeS = data.routes;</li><li> if (routeS.length <= 0) {</li><li> document.getElementById("result").innerHTML = "未查找到任何结果!<br />建议:<br />1.请确保所有字词拼写正确。<br />2.尝试不同的关键字。<br />3.尝试更宽泛的关键字。";</li><li> }</li><li> else{</li><li> route_text="";</li><li> for(var v =0; v< routeS.length;v++){</li><li> //驾车步骤数</li><li> steps = routeS[v].steps</li><li> var route_count = steps.length;</li><li> //行车距离(米)</li><li> var distance = routeS[v].distance;</li><li> //拼接输出html</li><li> for(var i=0 ;i< steps.length;i++){</li><li> route_text += "<tr><td align=\"left\" onMouseover=\"driveDrawFoldline('" + i + "')\">" + i +"." +steps<i>.instruction + "</td></tr>";</i></li><li><i> }</i></li><li><i> }</i></li><li><i> //输出行车路线指示</i></li><li><i> route_text = "<table cellspacing=\"5px\"><tr><td style=\"background:#e1e1e1;\">路线</td></tr><tr><td><img src=\"http://code.mapabc.com/images/start.gif\" /> 北京南站</td></tr>" + route_text + "<tr><td><img src=\"http://code.mapabc.com/images/end.gif\" /> 北京西站</td></tr></table>";</i></li><li><i> document.getElementById("result").innerHTML = route_text;</i></li><li><i> drivingDrawLine();</i></li><li><i> }</i></li><li><i>}</i></li><li><i>//绘制驾车导航路线</i></li><li><i>function drivingDrawLine(s) {</i></li><li><i> //起点、终点图标</i></li><li><i> var sicon = new AMap.Icon({</i></li><li><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></li><li><i> size:new AMap.Size(4444)</i></li><li><i> imageOffset: new AMap.Pixel(-334 -180)</i></li><li><i> });</i></li><li><i> var startmarker = new AMap.Marker({</i></li><li><i> icon : sicon //复杂图标</i></li><li><i> visible : true</i></li><li><i> position : start_xy</i></li><li><i> map:mapObj</i></li><li><i> offset : {</i></li><li><i> x : -16</i></li><li><i> y : -40</i></li><li><i> }</i></li><li><i> });</i></li><li><i> var eicon = new AMap.Icon({</i></li><li><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></li><li><i> size:new AMap.Size(4444)</i></li><li><i> imageOffset: new AMap.Pixel(-334 -134)</i></li><li><i> });</i></li><li><i> var endmarker = new AMap.Marker({</i></li><li><i> icon : eicon //复杂图标</i></li><li><i> visible : true</i></li><li><i> position : end_xy</i></li><li><i> map:mapObj</i></li><li><i> offset : {</i></li><li><i> x : -16</i></li><li><i> y : -40</i></li><li><i> }</i></li><li><i> });</i></li><li><i> //起点到路线的起点 路线的终点到终点 绘制无道路部分</i></li><li><i> var extra_path1 = new Array();</i></li><li><i> extra_path1.push(start_xy);</i></li><li><i> extra_path1.push(steps[0].path[0]);</i></li><li><i> var extra_line1 = new AMap.Polyline({</i></li><li><i> map: mapObj</i></li><li><i> path: extra_path1</i></li><li><i> strokeColor: "#9400D3"</i></li><li><i> strokeOpacity: 0.7</i></li><li><i> strokeWeight: 4</i></li><li><i> strokeStyle: "dashed" //虚线</i></li><li><i> strokeDasharray: [10 5]</i></li><li><i> });</i></li><li></li><li><i> var extra_path2 = new Array();</i></li><li><i> var path_xy = steps[(steps.length-1)].path;</i></li><li><i> extra_path2.push(end_xy);</i></li><li><i> extra_path2.push(path_xy[(path_xy.length-1)]);</i></li><li><i> var extra_line2 = new AMap.Polyline({</i></li><li><i> map: mapObj</i></li><li><i> path: extra_path2</i></li><li><i> strokeColor: "#9400D3"</i></li><li><i> strokeOpacity: 0.7</i></li><li><i> strokeWeight: 4</i></li><li><i> strokeStyle: "dashed" //虚线</i></li><li><i> strokeDasharray: [10 5]</i></li><li><i> });</i></li><li></li><li><i> var drawpath = new Array();</i></li><li><i> for(var s=0; s<steps.length; s++){</i></li><li><i> drawpath = steps<strike>.path;</strike></i></li><li><i><strike> var polyline = new AMap.Polyline({</strike></i></li><li><i><strike> map: mapObj</strike></i></li><li><i><strike> path: drawpath</strike></i></li><li><i><strike> strokeColor: "#9400D3"</strike></i></li><li><i><strike> strokeOpacity: 0.7</strike></i></li><li><i><strike> strokeWeight: 4</strike></i></li><li><i><strike> strokeDasharray: [10 5]</strike></i></li><li><i><strike> });</strike></i></li><li><i><strike> }</strike></i></li><li><i><strike> mapObj.setFitView();</strike></i></li><li><i><strike>}</strike></i></li><li><i><strike>//绘制驾车导航路段</strike></i></li><li><i><strike>function driveDrawFoldline(num){</strike></i></li><li><i><strike> var drawpath1 = new Array();</strike></i></li><li><i><strike> drawpath1 = steps[num].path;</strike></i></li><li><i><strike> if(polyline != null){</strike></i></li><li><i><strike> polyline.setMap(null);</strike></i></li><li><i><strike> }</strike></i></li><li><i><strike> polyline = new AMap.Polyline({</strike></i></li><li><i><strike> map: mapObj</strike></i></li><li><i><strike> path: drawpath1</strike></i></li><li><i><strike> strokeColor: "#FF3030"</strike></i></li><li><i><strike> strokeOpacity: 0.9</strike></i></li><li><i><strike> strokeWeight: 4</strike></i></li><li><i><strike> strokeDasharray: [10 5]</strike></i></li><li><i><strike> });</strike></i></li><li></li><li><i><strike> mapObj.setFitView(polyline);</strike></i></li><li><i><strike>}</strike></i></li><li><i><strike>//公交导航</strike></i></li><li><i><strike>function transfer_route() {</strike></i></li><li><i><strike> clearMap();</strike></i></li><li><i><strike> var trans;</strike></i></li><li><i><strike> //加载公交换乘插件</strike></i></li><li><i><strike> mapObj.plugin(["AMap.Transfer"] function() {</strike></i></li><li><i><strike> transOptions = {</strike></i></li><li><i><strike> city: '北京市' //公交城市</strike></i></li><li><i><strike> policy: AMap.TransferPolicy.LEAST_TIME //乘车策略</strike></i></li><li><i><strike> };</strike></i></li><li><i><strike> //构造公交换乘类</strike></i></li><li><i><strike> trans = new AMap.Transfer (transOptions);</strike></i></li><li><i><strike> //返回导航查询结果</strike></i></li><li><i><strike> AMap.event.addListener(trans "complete" transCallBack);</strike></i></li><li><i><strike> //显示错误信息</strike></i></li><li><i><strike> AMap.event.addListener(trans "error" function(e) {alert(e.info);});
- </strike></i></li><li><i><strike> //根据起、终点坐标查询公交换乘路线</strike></i></li><li><i><strike> trans.search(start_xyend_xy);</strike></i></li><li><i><strike> });</strike></i></li><li><i><strike>}</strike></i></li><li><i><strike>function transCallBack(data) {</strike></i></li><li><i><strike> var btCount = data.count;</strike></i></li><li><i><strike> var btPlans = data.plans;</strike></i></li><li><i><strike> var btOrigin = data.origin;</strike></i></li><li><i><strike> var btDestination = data.destination;</strike></i></li><li><i><strike> var btTaxiCost = data.taxi_cost;</strike></i></li><li><i><strike> var startName = "北京南站"; //可以使用地理编码解析起点和终点坐标</strike></i></li><li><i><strike> var endName = "北京站";</strike></i></li><li><i><strike> var BusArr = [];</strike></i></li><li><i><strike> var WalkArr = [];</strike></i></li><li><i><strike> var onbus = new Array();</strike></i></li><li><i><strike> var onwalk = new Array();</strike></i></li><li><i><strike> //结果输出用表格展现,输出表格头</strike></i></li><li><i><strike> var resTableHeader = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"><tr><td width=\"80\" style=\" border-left:1px solid #fff; background:#e1e1e1;\"> 乘车方案</td><td width=\"80\" style=\" border-left:1px solid #fff; background:#e1e1e1;\"> 导航信息</td></tr>";</strike></i></li><li><i><strike> btContent.push(resTableHeader);</strike></i></li><li><i><strike> //遍历每种换乘方案</strike></i></li><li><i><strike> for (var i = 0; i < btPlans.length; i++) {</strike></i></li><li><i><strike> var btDistance = btPlans<i>.distance;</i></strike></i></li><li><i><strike><i> var btseg = btPlans<i>.segments;</i></i></strike></i></li><li><i><strike><i><i> var lineNameArr = new Array();</i></i></strike></i></li><li><i><strike><i><i> var resLine = "";</i></i></strike></i></li><li><i><strike><i><i> var naviInfo = '';</i></i></strike></i></li><li><i><strike><i><i> var lineName;</i></i></strike></i></li><li><i><strike><i><i> for(var j = 0; j < btseg.length; j++) {</i></i></strike></i></li><li><i><strike><i><i> naviInfo += btseg[j].instruction + "<br/>";</i></i></strike></i></li><li><i><strike><i><i> if(btseg[j].transit_mode =="WALK") {</i></i></strike></i></li><li><i><strike><i><i> if(i===0) {</i></i></strike></i></li><li><i><strike><i><i> WalkArr.push(btseg[j].transit.path);</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> else {</i></i></strike></i></li><li><i><strike><i><i> lineName = btseg[j].transit.lines[0].name;</i></i></strike></i></li><li><i><strike><i><i> lineNameArr.push(lineName);</i></i></strike></i></li><li><i><strike><i><i> if(i===0) {</i></i></strike></i></li><li><i><strike><i><i> BusArr.push(btseg[j].transit.path);</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> lineName = lineNameArr.join("-->");</i></i></strike></i></li><li><i><strike><i><i> drawBuschangeLine(btOriginbtDestinationBusArrWalkArr);</i></i></strike></i></li><li><i><strike><i><i> //结果输出用表格展现,输出表格内容</i></i></strike></i></li><li><i><strike><i><i> resLine = "<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">"</i></i></strike></i></li><li><i><strike><i><i> + "<tr><td width=\"80\" class=\"change_blue\">"+ lineName +"</td><td width=\"80\" class=\"change_blue\" >"</i></i></strike></i></li><li><i><strike><i><i> + Getdistance(btDistance) + "</td></tr>" + "<tr><td width=\"80\" class=\"change_blue\" ></td><td width=\"80\"><img src=\"http://webapi.amap.com/images/start.gif\" /> <b>起点</b> " + startName + "</td></tr>" + "<tr><td width=\"80\" class=\"change_blue\"></td><td width=\"80\" class=\"change_blue\">"+ naviInfo +"</td></tr>"+ "<tr><td width=\"80\" class=\"change_blue\" ></td><td width=\"80\"><img src=\"http://webapi.amap.com/images/end.gif\" /> <b>终点</b> " + endName + "</td></tr>";</i></i></strike></i></li><li><i><strike><i><i> btContent.push(resLine);</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> resultStr = btContent.join("");</i></i></strike></i></li><li><i><strike><i><i> //写到result这个div</i></i></strike></i></li><li><i><strike><i><i> document.getElementById("result").innerHTML = resultStr;</i></i></strike></i></li><li><i><strike><i><i> //取出需要加换乘、步行图标的位置,这里仅画出第一个换乘方案</i></i></strike></i></li><li><i><strike><i><i> var sinseg = btPlans[0].segments;</i></i></strike></i></li><li><i><strike><i><i> for(var a in sinseg) {</i></i></strike></i></li><li><i><strike><i><i> if(sinseg[a].transit_mode =="WALK") {</i></i></strike></i></li><li><i><strike><i><i> onwalk.push(sinseg[a].transit.origin);</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> else {</i></i></strike></i></li><li><i><strike><i><i> onbus.push(sinseg[a].transit.on_station.location);</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> addMarker(onbus);</i></i></strike></i></li><li><i><strike><i><i> mapObj.setFitView();</i></i></strike></i></li><li><i><strike><i><i>}</i></i></strike></i></li><li><i><strike><i><i>//距离,米换算为千米</i></i></strike></i></li><li><i><strike><i><i>function Getdistance(len) {</i></i></strike></i></li><li><i><strike><i><i> if (len <= 1000) {</i></i></strike></i></li><li><i><strike><i><i> var s = len;</i></i></strike></i></li><li><i><strike><i><i> return s + "米";</i></i></strike></i></li><li><i><strike><i><i> } else {</i></i></strike></i></li><li><i><strike><i><i> var s = Math.round(len / 1000);</i></i></strike></i></li><li><i><strike><i><i> return "约" + s + "公里";</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i>}</i></i></strike></i></li><li><i><strike><i><i>//绘制路线,仅第一条</i></i></strike></i></li><li><i><strike><i><i>function drawBuschangeLine(startPotendPotBusArrWalkArr) {</i></i></strike></i></li><li><i><strike><i><i> //自定义起点,终点图标</i></i></strike></i></li><li><i><strike><i><i> var sicon = new AMap.Icon({</i></i></strike></i></li><li><i><strike><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></strike></i></li><li><i><strike><i><i> size: new AMap.Size(4444)</i></i></strike></i></li><li><i><strike><i><i> imageOffset: new AMap.Pixel(-334 -180)</i></i></strike></i></li><li><i><strike><i><i> });</i></i></strike></i></li><li><i><strike><i><i> var eicon = new AMap.Icon({</i></i></strike></i></li><li><i><strike><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></strike></i></li><li><i><strike><i><i> size: new AMap.Size(4444)</i></i></strike></i></li><li><i><strike><i><i> imageOffset: new AMap.Pixel(-334 -134)</i></i></strike></i></li><li><i><strike><i><i> });</i></i></strike></i></li><li><i><strike><i><i> //绘制起点,终点</i></i></strike></i></li><li><i><strike><i><i> var stmarker = new AMap.Marker({</i></i></strike></i></li><li><i><strike><i><i> map:mapObj</i></i></strike></i></li><li><i><strike><i><i> position:new AMap.LngLat(startPot.lngstartPot.lat) //基点位置</i></i></strike></i></li><li><i><strike><i><i> icon:sicon //复杂图标</i></i></strike></i></li><li><i><strike><i><i> offset:{x:-16y:-34} //相对于基点的位置</i></i></strike></i></li><li><i><strike><i><i> });</i></i></strike></i></li><li><i><strike><i><i> var endmarker = new AMap.Marker({</i></i></strike></i></li><li><i><strike><i><i> map:mapObj</i></i></strike></i></li><li><i><strike><i><i> position:new AMap.LngLat(endPot.lngendPot.lat) //基点位置</i></i></strike></i></li><li><i><strike><i><i> icon:eicon //复杂图标</i></i></strike></i></li><li><i><strike><i><i> offset:{x:-16y:-34} //相对于基点的位置</i></i></strike></i></li><li><i><strike><i><i> });</i></i></strike></i></li><li><i><strike><i><i> //绘制乘车的路线</i></i></strike></i></li><li><i><strike><i><i> for(var j in BusArr) {</i></i></strike></i></li><li><i><strike><i><i> busPolyline = new AMap.Polyline({</i></i></strike></i></li><li><i><strike><i><i> map:mapObj</i></i></strike></i></li><li><i><strike><i><i> path:BusArr[j]</i></i></strike></i></li><li><i><strike><i><i> strokeColor:"#005cb5"//线颜色</i></i></strike></i></li><li><i><strike><i><i> strokeOpacity:0.8//线透明度</i></i></strike></i></li><li><i><strike><i><i> strokeWeight:6//线宽</i></i></strike></i></li><li><i><strike><i><i> });</i></i></strike></i></li><li><i><strike><i><i> }</i></i></strike></i></li><li><i><strike><i><i> //绘制步行的路线</i></i></strike></i></li><li><i><strike><i><i> for (var i in WalkArr) {</i></i></strike></i></li><li><i><strike><i><i> walkPolyline = new AMap.Polyline({</i></i></strike></i></li><li><i><strike><i><i> map:mapObj</i></i></strike></i></li><li><i><strike><i><i> path:WalkArr<i></i></i></i></strike></i></li><li><strike><i><i><i> strokeColor : "#6EB034" //线颜色</i></i></i></strike></li><li><strike><i><i><i> strokeOpacity : 0.6 //线透明度</i></i></i></strike></li><li><strike><i><i><i> strokeWeight : 6//线宽</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>function addMarker(busmar) {</i></i></i></strike></li><li><strike><i><i><i> for (var i = 0; i < busmar.length; i++) {</i></i></i></strike></li><li><strike><i><i><i> var busmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> icon : new AMap.Icon({</i></i></i></strike></li><li><strike><i><i><i> image: "http://api.amap.com/Public/images/js/busroute.png"</i></i></i></strike></li><li><strike><i><i><i> size: new AMap.Size(20 20)</i></i></i></strike></li><li><strike><i><i><i> imageOffset: new AMap.Pixel(-33 -3)</i></i></i></strike></li><li><strike><i><i><i> })</i></i></i></strike></li><li><strike><i><i><i> position : busmar<i></i></i></i></i></strike></li><li><strike><i><i><i> offset : {</i></i></i></strike></li><li><strike><i><i><i> x : -25</i></i></i></strike></li><li><strike><i><i><i> y : -25</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//公交线路查询</i></i></i></strike></li><li><strike><i><i><i>function lineSearch() {</i></i></i></strike></li><li><strike><i><i><i> clearMap();</i></i></i></strike></li><li><strike><i><i><i> //加载公交线路查询插件</i></i></i></strike></li><li><strike><i><i><i> //实例化公交线路查询类,只取回一条路线</i></i></i></strike></li><li><strike><i><i><i> mapObj.plugin(["AMap.LineSearch"] function() {</i></i></i></strike></li><li><strike><i><i><i> var linesearch = new AMap.LineSearch({</i></i></i></strike></li><li><strike><i><i><i> pageIndex:1</i></i></i></strike></li><li><strike><i><i><i> city:'北京'</i></i></i></strike></li><li><strike><i><i><i> pageSize:1</i></i></i></strike></li><li><strike><i><i><i> extensions:'all'</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> //搜索“518”相关公交线路</i></i></i></strike></li><li><strike><i><i><i> linesearch.search('518');</i></i></i></strike></li><li><strike><i><i><i> AMap.event.addListener(linesearch "complete" lineSearch_Callback);</i></i></i></strike></li><li><strike><i><i><i> AMap.event.addListener(linesearch "error" function(e){alert(e.info);
- </i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>function lineSearch_Callback(data) {</i></i></i></strike></li><li><strike><i><i><i> var lineArr = data.lineInfo;</i></i></i></strike></li><li><strike><i><i><i> var lineNum = data.lineInfo.length;</i></i></i></strike></li><li><strike><i><i><i> if(lineNum == 0) {</i></i></i></strike></li><li><strike><i><i><i> resLine = data.info;</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> else {</i></i></i></strike></li><li><strike><i><i><i> resLine += "<div id=\"divid" + i + "\"><table>";</i></i></i></strike></li><li><strike><i><i><i> for(var i = 0; i < lineNum; i++) {</i></i></i></strike></li><li><strike><i><i><i> var lineName = lineArr<i>.name;</i></i></i></i></strike></li><li><strike><i><i><i> var lineCity = lineArr<i>.city;</i></i></i></i></strike></li><li><strike><i><i><i> var distance = lineArr<i>.distance;</i></i></i></i></strike></li><li><strike><i><i><i> var company = lineArr<i>.company;</i></i></i></i></strike></li><li><strike><i><i><i> var stime = lineArr<i>.stime;</i></i></i></i></strike></li><li><strike><i><i><i> var etime = lineArr<i>.etime;</i></i></i></i></strike></li><li><strike><i><i><i> var pathArr = lineArr<i>.path;</i></i></i></i></strike></li><li><strike><i><i><i> var stops = lineArr<i>.via_stops;</i></i></i></i></strike></li><li><strike><i><i><i> var startPot = stops[0].location;</i></i></i></strike></li><li><strike><i><i><i> var endPot = stops[stops.length-1].location;</i></i></i></strike></li><li><strike><i><i><i> //结果输出用DIV展现,输出内容</i></i></i></strike></li><li><strike><i><i><i> resLine += "<tr><td><h3><font color=\"#00a6ac\">" + lineName + "</font></h3></td></tr>";</i></i></i></strike></li><li><strike><i><i><i> resLine += "<tr><td>首末车时间:" + stime.substring(0 2) + ":" + stime.substring(2 4) + '-' + etime.substring(0 2) + ":" + etime.substring(2 4) + ";" + "全长:" + distance + "公里;" + "所属公司:" + company+"</td></tr>";</i></i></i></strike></li><li><strike><i><i><i> //绘制第一条路线</i></i></i></strike></li><li><strike><i><i><i> if(i==0) drawbusLine(startPotendPotpathArr);</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> resLine += "</table></div>"</i></i></i></strike></li><li><strike><i><i><i> document.getElementById('result').innerHTML = resLine;</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//绘制路线</i></i></i></strike></li><li><strike><i><i><i>function drawbusLine(startPotendPotBusArr) {</i></i></i></strike></li><li><strike><i><i><i> //自定义起点,终点图标</i></i></i></strike></li><li><strike><i><i><i> var sicon = new AMap.Icon({</i></i></i></strike></li><li><strike><i><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></i></strike></li><li><strike><i><i><i> size: new AMap.Size(4444)</i></i></i></strike></li><li><strike><i><i><i> imageOffset: new AMap.Pixel(-334 -180)</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> var eicon = new AMap.Icon({</i></i></i></strike></li><li><strike><i><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></i></strike></li><li><strike><i><i><i> size: new AMap.Size(4444)</i></i></i></strike></li><li><strike><i><i><i> imageOffset: new AMap.Pixel(-334 -134)</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> //绘制起点,终点</i></i></i></strike></li><li><strike><i><i><i> var stmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> position:new AMap.LngLat(startPot.lngstartPot.lat) //基点位置</i></i></i></strike></li><li><strike><i><i><i> icon:sicon //复杂图标</i></i></i></strike></li><li><strike><i><i><i> offset:{x:-16y:-34} //相对于基点的位置</i></i></i></strike></li><li><strike><i><i><i> zIndex:10</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> var endmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> position:new AMap.LngLat(endPot.lngendPot.lat) //基点位置</i></i></i></strike></li><li><strike><i><i><i> icon:eicon //复杂图标</i></i></i></strike></li><li><strike><i><i><i> offset:{x:-16y:-34} //相对于基点的位置</i></i></i></strike></li><li><strike><i><i><i> zIndex:10</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> //绘制乘车的路线</i></i></i></strike></li><li><strike><i><i><i> busPolyline = new AMap.Polyline({</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> path:BusArr</i></i></i></strike></li><li><strike><i><i><i> strokeColor:"#005cb5"//线颜色</i></i></i></strike></li><li><strike><i><i><i> strokeOpacity:0.8//线透明度</i></i></i></strike></li><li><strike><i><i><i> strokeWeight:6//线宽</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> mapObj.setFitView();</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//公交站点查询</i></i></i></strike></li><li><strike><i><i><i>function stationSearch() {</i></i></i></strike></li><li><strike><i><i><i> clearMap();</i></i></i></strike></li><li><strike><i><i><i> //加载公交站点查询插件</i></i></i></strike></li><li><strike><i><i><i> mapObj.plugin(["AMap.StationSearch"] function() {</i></i></i></strike></li><li><strike><i><i><i> //实例化公交站点查询类</i></i></i></strike></li><li><strike><i><i><i> var station = new AMap.StationSearch({</i></i></i></strike></li><li><strike><i><i><i> pageIndex: 1 //页码</i></i></i></strike></li><li><strike><i><i><i> pageSize: 10 //单页显示结果条数</i></i></i></strike></li><li><strike><i><i><i> city:'010' //确定搜索城市</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> station.search('东直门'); //查询</i></i></i></strike></li><li><strike><i><i><i> AMap.event.addListener(station 'complete' stationSearch_CallBack);</i></i></i></strike></li><li><strike><i><i><i> AMap.event.addListener(station 'error' function(e) {alert(e.info);});
- </i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>/*</i></i></i></strike></li><li><strike><i><i><i>*公交站点查询返回数据解析</i></i></i></strike></li><li><strike><i><i><i>*/</i></i></i></strike></li><li><strike><i><i><i>function stationSearch_CallBack(searchResult) {</i></i></i></strike></li><li><strike><i><i><i> clearMap();</i></i></i></strike></li><li><strike><i><i><i> var resultStr = ""; //结果拼接String</i></i></i></strike></li><li><strike><i><i><i> var resultString = searchResult.info;</i></i></i></strike></li><li><strike><i><i><i> var stationArr = searchResult.stationInfo;</i></i></i></strike></li><li><strike><i><i><i> var searchNum = stationArr.length;</i></i></i></strike></li><li><strike><i><i><i> var iMarker = searchResult.location;</i></i></i></strike></li><li></li><li><strike><i><i><i> if(searchNum > 0) {</i></i></i></strike></li><li><strike><i><i><i> resultStr += "<div id=\"divid" + i + "\"><table>";</i></i></i></strike></li><li><strike><i><i><i> for(var i=0; i<searchNum; i++) {</i></i></i></strike></li><li><strike><i><i><i> //结果输出用表格展现</i></i></i></strike></li><li><strike><i><i><i> resultStr += "<tr><td><h3><font color=\"#00a6ac\">" + stationArr<i>.name + "</font></h3></td></tr>";</i></i></i></i></strike></li><li></li><li><strike><i><i><i> resultStr += "<tr><td>途径该站点的公交线路:</td></tr><tr><td>";</i></i></i></strike></li><li><strike><i><i><i> var stationBusArr = stationArr<i>.buslines;</i></i></i></i></strike></li><li><strike><i><i><i> for(var j =0; j<stationBusArr.length; j++) {</i></i></i></strike></li><li><strike><i><i><i> resultStr += stationBusArr[j].name + "<br/>";</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> resultStr += "</td></tr></table></div>"</i></i></i></strike></li><li><strike><i><i><i> document.getElementById("result").innerHTML = resultStr;</i></i></i></strike></li><li></li><li><strike><i><i><i> var stmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> position:iMarker</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> else {</i></i></i></strike></li><li><strike><i><i><i> document.getElementById("result").innerHTML = resultString;</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//步行导航</i></i></i></strike></li><li><strike><i><i><i>function walking_route() {</i></i></i></strike></li><li><strike><i><i><i> var MWalk;</i></i></i></strike></li><li><strike><i><i><i> mapObj.plugin(["AMap.Walking"] function() {</i></i></i></strike></li><li><strike><i><i><i> MWalk = new AMap.Walking(); //构造路线导航类</i></i></i></strike></li><li><strike><i><i><i> AMap.event.addListener(MWalk "complete" walk_routeCallBack); //返回导航查询结果</i></i></i></strike></li><li><strike><i><i><i> MWalk.search(start_xy end_xy); //根据起终点坐标规划步行路线</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//导航结果展示</i></i></i></strike></li><li><strike><i><i><i>function walk_routeCallBack(data) {</i></i></i></strike></li><li><strike><i><i><i> var routeS = data.routes;</i></i></i></strike></li><li><strike><i><i><i> if (routeS.length <= 0) {</i></i></i></strike></li><li><strike><i><i><i> document.getElementById("result").innerHTML = "未查找到任何结果!<br />建议:<br />1.请确保所有字词拼写正确。<br />2.尝试不同的关键字。<br />3.尝试更宽泛的关键字。";</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> else {</i></i></i></strike></li><li><strike><i><i><i> route_text="";</i></i></i></strike></li><li><strike><i><i><i> for(var v =0; v< routeS.length;v++){</i></i></i></strike></li><li><strike><i><i><i> //步行导航路段数</i></i></i></strike></li><li><strike><i><i><i> steps = routeS[v].steps;</i></i></i></strike></li><li><strike><i><i><i> var route_count = steps.length;</i></i></i></strike></li><li><strike><i><i><i> //步行距离(米)</i></i></i></strike></li><li><strike><i><i><i> var distance = routeS[v].distance;</i></i></i></strike></li><li><strike><i><i><i> //拼接输出html</i></i></i></strike></li><li><strike><i><i><i> for(var i=0 ;i< steps.length;i++) {</i></i></i></strike></li><li><strike><i><i><i> route_text += "<tr><td align=\"left\" onMouseover=\"walkingDrawSeg('" + i + "')\">" + i +"." +steps<i>.instruction + "</td></tr>";</i></i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> //输出步行路线指示</i></i></i></strike></li><li><strike><i><i><i> route_text = "<table cellspacing=\"5 px\" ><tr><td style=\"background:#e1e1e1;\">路线</td></tr><tr><td><img src=\"http://code.mapabc.com/images/start.gif\" /> 北京南站</td></tr>" + route_text + "<tr><td><img src=\"http://code.mapabc.com/images/end.gif\" /> 北京站</td></tr></table>";</i></i></i></strike></li><li><strike><i><i><i> document.getElementById("result").innerHTML = route_text;</i></i></i></strike></li><li><strike><i><i><i> walkingDrawLine();</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i>}</i></i></i></strike></li><li><strike><i><i><i>//绘制步行导航路线</i></i></i></strike></li><li><strike><i><i><i>function walkingDrawLine() {</i></i></i></strike></li><li><strike><i><i><i> //起点、终点图标</i></i></i></strike></li><li><strike><i><i><i> var sicon = new AMap.Icon({</i></i></i></strike></li><li><strike><i><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></i></strike></li><li><strike><i><i><i> size:new AMap.Size(4444)</i></i></i></strike></li><li><strike><i><i><i> imageOffset: new AMap.Pixel(-334 -180)</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> var startmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> icon : sicon //复杂图标</i></i></i></strike></li><li><strike><i><i><i> visible : true</i></i></i></strike></li><li><strike><i><i><i> position : start_xy</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> offset : {</i></i></i></strike></li><li><strike><i><i><i> x : -16</i></i></i></strike></li><li><strike><i><i><i> y : -40</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> var eicon = new AMap.Icon({</i></i></i></strike></li><li><strike><i><i><i> image: "http://api.amap.com/Public/images/js/poi.png"</i></i></i></strike></li><li><strike><i><i><i> size:new AMap.Size(4444)</i></i></i></strike></li><li><strike><i><i><i> imageOffset: new AMap.Pixel(-334 -134)</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> var endmarker = new AMap.Marker({</i></i></i></strike></li><li><strike><i><i><i> icon : eicon //复杂图标</i></i></i></strike></li><li><strike><i><i><i> visible : true</i></i></i></strike></li><li><strike><i><i><i> position : end_xy</i></i></i></strike></li><li><strike><i><i><i> map:mapObj</i></i></i></strike></li><li><strike><i><i><i> offset : {</i></i></i></strike></li><li><strike><i><i><i> x : -16</i></i></i></strike></li><li><strike><i><i><i> y : -40</i></i></i></strike></li><li><strike><i><i><i> }</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li><strike><i><i><i> //起点到路线的起点 路线的终点到终点 绘制无道路部分</i></i></i></strike></li><li><strike><i><i><i> var extra_path1 = new Array();</i></i></i></strike></li><li><strike><i><i><i> extra_path1.push(start_xy);</i></i></i></strike></li><li><strike><i><i><i> extra_path1.push(steps[0].path[0]);</i></i></i></strike></li><li><strike><i><i><i> var extra_line1 = new AMap.Polyline({</i></i></i></strike></li><li><strike><i><i><i> map: mapObj</i></i></i></strike></li><li><strike><i><i><i> path: extra_path1</i></i></i></strike></li><li><strike><i><i><i> strokeColor: "#9400D3"</i></i></i></strike></li><li><strike><i><i><i> strokeOpacity: 0.7</i></i></i></strike></li><li><strike><i><i><i> strokeWeight: 4</i></i></i></strike></li><li><strike><i><i><i> strokeStyle: "dashed"</i></i></i></strike></li><li><strike><i><i><i> strokeDasharray: [10 5]</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li></li><li><strike><i><i><i> var extra_path2 = new Array();</i></i></i></strike></li><li><strike><i><i><i> var path_xy = steps[(steps.length-1)].path;</i></i></i></strike></li><li><strike><i><i><i> extra_path2.push(end_xy);</i></i></i></strike></li><li><strike><i><i><i> extra_path2.push(path_xy[(path_xy.length-1)]);</i></i></i></strike></li><li><strike><i><i><i> var extra_line2 = new AMap.Polyline({</i></i></i></strike></li><li><strike><i><i><i> map: mapObj</i></i></i></strike></li><li><strike><i><i><i> path: extra_path2</i></i></i></strike></li><li><strike><i><i><i> strokeColor: "#9400D3"</i></i></i></strike></li><li><strike><i><i><i> strokeOpacity: 0.7</i></i></i></strike></li><li><strike><i><i><i> strokeWeight: 4</i></i></i></strike></li><li><strike><i><i><i> strokeStyle: "dashed"</i></i></i></strike></li><li><strike><i><i><i> strokeDasharray: [10 5]</i></i></i></strike></li><li><strike><i><i><i> });</i></i></i></strike></li><li></li><li><strike><i><i><i> for(var s=0; s<steps.length; s++) {</i></i></i></strike></li><li><strike><i><i><i> var drawpath = steps<strike>.path;</strike></i></i></i></strike></li><li><strike><i><i><i><strike> var polyline = new AMap.Polyline({</strike></i></i></i></strike></li><li><strike><i><i><i><strike> map: mapObj</strike></i></i></i></strike></li><li><strike><i><i><i><strike> path: drawpath</strike></i></i></i></strike></li><li><strike><i><i><i><strike> strokeColor: "#9400D3"</strike></i></i></i></strike></li><li><strike><i><i><i><strike> strokeOpacity: 0.7</strike></i></i></i></strike></li><li><strike><i><i><i><strike> strokeWeight: 4</strike></i></i></i></strike></li><li><strike><i><i><i><strike> });</strike></i></i></i></strike></li><li><strike><i><i><i><strike> }</strike></i></i></i></strike></li><li><strike><i><i><i><strike> mapObj.setFitView();</strike></i></i></i></strike></li><li><strike><i><i><i><strike>}</strike></i></i></i></strike></li><li><strike><i><i><i><strike></script></strike></i></i></i></strike></li><li><strike><i><i><i><strike></html></strike></i></i></i></strike></li><li><strike><i><i><i><strike>
- </strike></i></i></i></strike></li></ul><strike><i><i><i><strike>
- [color=rgb(51, 102, 153) !important]<font style="font-size: 12px">复制代码</font></strike></i></i></i></strike></font></div>
复制代码
[size=12.727272033691406px]示例查看:[size=12.727272033691406px]http://zhaoziang.com/amap/zero_5_1.html |