高德地图 公交路线查询 您所在的位置:网站首页 高德地图怎么公交车实时查询 高德地图 公交路线查询

高德地图 公交路线查询

2024-07-11 14:27| 来源: 网络整理| 查看: 265

AMap.LineSearch 公交路线服务,提供公交路线相关信息查询服务 官网解释:AMap.LineSearch 公交路线查询类,通过extensions属性控制返回信息详略。公交线路信息包括起、终点、途径站点,首、末班车时间等信息。用户可以通过自定义回调函数取回并显示查询结果。若服务请求失败,系统将返回错误信息。

若我们想单独获取某一条具体的公交路线,我们就可以通过 AMap.LineSearch 进行获取,示例如下:

var map = new AMap.Map('container', { resizeEnable: true, }); AMap.service(["AMap.LineSearch"], function() { //实例化公交站点查询类 var linesearch = new AMap.LineSearch({ pageIndex: 1, //页码 pageSize: 60, //单页显示结果条数 city:'0756', //确定搜索城市 extensions: 'all' }); linesearch.search('3', function(status, result) { if (status === 'complete' && result.info === 'OK') { lineSearch_Callback(result); } else { alert(result); } }); }); /*公交路线查询服务返回数据解析概况*/ function lineSearch_Callback(data) { var lineArr = data.lineInfo; var lineNum = data.lineInfo.length; if (lineNum == 0) { } else { for (var i = 0; i < lineNum; i++) { var pathArr = lineArr[i].path; var stops = lineArr[i].via_stops; var startPot = stops[0].location; var endPot = stops[stops.length - 1].location; if (i == 0) drawbusLine(startPot, endPot, pathArr); } } } /*绘制路线*/ function drawbusLine(startPot, endPot, BusArr) { //绘制起点,终点 new AMap.Marker({ map: map, position: [startPot.lng, startPot.lat], //基点位置 icon: "http://webapi.amap.com/theme/v1.3/markers/n/start.png", zIndex: 10 }); new AMap.Marker({ map: map, position: [endPot.lng, endPot.lat], //基点位置 icon: "http://webapi.amap.com/theme/v1.3/markers/n/end.png", zIndex: 10 }); //绘制乘车的路线 busPolyline = new AMap.Polyline({ map: map, path: BusArr, strokeColor: "#09f",//线颜色 strokeOpacity: 0.8,//线透明度 strokeWeight: 6//线宽 }); map.setFitView(); }

效果图如下 这里写图片描述

这里我们需要注意路线要自己去画出来,高德地图没帮我们实现这个功能。 这里主要讲解一下如何获取站点的信息。由以上方法可知,当我们查询成功时会返回一个LineSearchResult 对象,该对象可以进一步获取LineInfo对象,通过LineInfo来获取via_stops,这时里面就有我们所要的站点信息,记住要获取via_stops对象,必须要加上extensions: ‘all’这个参数,要不然取不到值。

官方api 这里写图片描述

这里写图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有