示例中心
功能在线体验
控制台

高德 开发 地图 JS API 开发指南 获取地图数据 公交线路与站点

更新时间:2017年05月23日

亲手试一试

公交是城市内出行的重要交通方式,除了公交线路规划,高德JavaScript API还提供了公交站点查询公交线路查询服务。

AMap.StationSearch提供公交站点查询服务,根据输入关键字、ID查询公交站点信息。AMap.LineSearch提供公交路线查询服务,通过设置extensions属性来控制返回信息的详略。公交线路信息包括起始、途径和终站点以及首、末班车的时间等信息。

插件引入与对象创建

在使用插件之前,需要使用AMap.service方法加载插件,然后在回调函数中可以进行服务的设定和查询:

AMap.service('AMap.StationSearch',function(){//回调函数
    //实例化StationSearch
    stationSearch= new AMap.StationSearch();
    //TODO: 使用stationSearch对象调用行政区查询的功能
})
AMap.service('AMap.LineSearch',function(){//回调函数
    //实例化LineSearch
    lineSearch= new AMap.LineSearch();
    //TODO: 使用lineSearch对象调用行政区查询的功能
})

场景一、公交站点查询

查询参数设定

要查询公交站点,首先要设置城市等参数,再调用search方法。假如说我们想查询"东直门"相关的站点信息,在初始化的时候我们可以设定city为北京市或者是010,pageIndex和pageSize分别用来设置请求的查询页码和单页的结果条数。这些参数也可以在初始化之后调用相应的set方法进行修改:

//加载公交站点查询插件
AMap.service(["AMap.StationSearch"], function() {
    //实例化公交站点查询类
    var station = new AMap.StationSearch({
    pageIndex: 1, //页码
    pageSize: 60, //单页显示结果条数
    city:'010'    //确定搜索城市
    });
    //TODO:调用search方法
}); 

构造函数参数详情

参数名称

类型

说明

pageIndex

Number

页码(如pageIndex为2,pageSize为10,那么显示的应是第11-20条返回结果)默认值:1,

取值范围:1-100,超过取值范围按默认,超出实际页数按最大值返回

pageSize

Number

单页显示结果条数,默认值:20,取值范围:1-100,超过取值范围按默认

city

String

公交站点所在城市,默认值:“全国”。可选值:cityname(中文或中文全拼)、citycode、adcode

调用search方法

参数设定完成、对象初始化完毕之后我们就可以调用search方法进行查询了,search方法接受两个参数,查询关键字和查询结果的回调函数:

//搜索“东直门”相关的公交站点
station.search('东直门', function(status, result){
    //根据status判断是否有正确结果
    if(status === 'complete' && result.info === 'OK'){
             //取得了正确查询结果
             
             stationSearch_CallBack(result);

             //stationSearch_CallBack可以进行一些结果的展示等

    }else{
         //查询失败或者没有合适结果
    }
});

回调结果

名称

类型

说明

status

String

结果状态码,“complete”时说明得到有效查询结果

result

Object

当status为complete时,result为StationSearchResult;

当status为error时,result为错误信息info;

当status为no_data时,代表检索返回0结果

StationSearchResult对象说明

字段名

类型

说明

info

String

成功状态文字描述

stationInfo

Array.<StationInfo>

根据查询条件返回公交站点信息

keywordList

Array.<keyword>

查无此公交站时,返回的建议关键字列表,可根据建议关键字查询

cityList

Array.<CityInfo>

查该城市无此公交站时,返回的建议城市列表

场景二、公交线路查询

查询参数设定

要查询某个公交线路的详细信息,同样,首先要设置城市等参数,再调用search方法,假如我们要查询"北京市536路公交车"的详情:

//加载公交路线查询服务
//实例化公交线路查询类,只取回一条路线
AMap.service(["AMap.LineSearch"], function() {
    var linesearch = new AMap.LineSearch({
    pageIndex:1,
    city:'北京',
    pageSize:1,
    extensions:'all'//返回全部信息
    });
    //TODO:调用search方法
});
    

构造函数参数详情

参数名称

类型

说明

pageIndex

Number

页码(如pageIndex为2,pageSize为10,那么显示的应是第11-20条返回结果),默认值:1

取值范围:1-100, 超过实际页数不返回poi

pageSize

Number

单页显示结果条数,默认值:20

取值范围:1-50,超出取值范围按最大值返回

city

String

公交线路所在城市

可选值:城市名(中文或中文全拼)、citycode,默认值:“全国”

extensions

String

此项仅公交路线查询时有效,默认值:base,返回公交路线基本信息

当取值为:all,返回公交路线基本信息+详细信息

调用search方法

参数设定完成、对象初始化完毕之后我们就可以调用search方法进行查询了,search方法接受两个参数,查询关键字和查询结果的回调函数:

//搜索“536”相关公交线路
linesearch.search('536', function(status, result){
    //取回公交路线查询结果
    if(status === 'complete' && result.info === 'OK'){
                //取得了正确的公交路线结果

        lineSearch_Callback(result);
                //结果处理函数,demo中绘制了线路

    }else{
        //无数据或者查询失败

    }
});

回调结果

名称

类型

说明

status

String

结果状态码,“complete”时说明得到有效查询结果

result

Object

当status为complete时,result为LineSearchResult;

当status为error时,result为错误信息info;

当status为no_data时,代表检索返回0结果

LineSearchResult对象说明

字段名

类型

说明

info

String

成功状态文字描述

lineInfo

Array.<LineInfo>

根据查询条件返回公交路线信息

keywordList

Array.<keyword>

查无此关键字时,返回建议关键字列表,可根据建议关键字查询

cityList

Array.<CityInfo>

查该城市且无相关公交线路时,返回建议城市列表,该列表中每个城市包含一个或多个相关公交线路信息

移动端
示例中心
功能
在线体验
常见问题