高德地图 公交路线查询

来源:互联网 发布:淘宝助理导出宝贝详情 编辑:程序博客网 时间:2024/04/24 18:34

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
这里写图片描述

这里写图片描述

0 0
原创粉丝点击