java 高德地图路线规划_公交出行路线规划-出行路线规划-开发指南-Android 地图SDK | 高德地图API...

公交路径规划可以根据起终点和公交换乘的数据,使用 BusRouteOverlay 画出公交路线图层,包括起终点和换乘点。另外也可以自定义起终点和换乘点的图标。

目前支持跨城公交路线规划,提供不同城市之间的火车换成方案。

注意:地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。

第 1 步,初始化 RouteSearch 对象

routeSearch = new RouteSearch(this);

第 2 步,设置数据回调监听器

routeSearch.setRouteSearchListener(this);

第 3 步,设置搜索参数

通过 BusRouteQuery(RouteSearch.FromAndTo fromAndTo, int mode, java.lang.String city, int nightflag) 设置搜索条件。方法中的参数说明如下:fromAndTo,路径的起终点;

mode,计算路径的模式,可选,默认为最快捷;

city,城市名称/城市区号/电话区号,此项不能为空;当进行跨城查询时,该参数对应起点的城市;

nightflag,是否计算夜班车,默认为不计算,0:不计算,1:计算,可选。

如果选择计算夜班车(nightflag=1),返回的夜班车数据将会排列在结果的前边。

如果存在地铁换乘出行,返回结果中还包括地铁的入站口和出站口信息。

如果是跨城公交出行,返回结果中包含火车信息。进行跨城公交查询时,还需调用 BusRouteQuery 的 setCityd(java.lang.String city) 方法设置终点城市。

// fromAndTo包含路径规划的起点和终点,RouteSearch.BusLeaseWalk表示公交查询模式

// 第三个参数表示公交查询城市区号,第四个参数表示是否计算夜班车,0表示不计算,1表示计算

BusRouteQuery query = new BusRouteQuery(fromAndTo, RouteSearch.BusLeaseWalk, "010",0);

//query.setCityd("027");//终点城市区号

第 4 步,发送请求

使用类 RouteSearch 的 calculateBusRouteAsyn(BusRouteQuery query) 方法进行公交规划路径计算。

RouteSearch.calculateBusRouteAsyn(query);//开始规划路径

第 5 步,接收数据

在 RouteSearch.OnRouteSearchListener 接口回调方法 void onBusRouteSearched(BusRouteResult busRouteResult,int rCode) 处理公交路径规划结果。

说明:

1)可以在回调中解析 result,获取驾车的路径。

2)result.getPaths()可以获取到 BusPath 列表,公交路径的详细信息可参考 BusPath 类。公交路径规划的一个路段(类 BusStep),必存在一段公交导航信息,最多包含一段步行信息。返回结果构成如下图所示:

c2adabade8ef48db0d2779d3764751c8.png

3)返回结果成功或者失败的响应码。1000为成功,其他为失败(详细信息参见网站开发指南-实用工具-错误码对照表)

public void onBusRouteSearched(BusRouteResult result, int rCode) {

//解析result获取算路结果,可参考官方demo

}

显示效果如下:

e9e4cbf0cb1fb34b52c9061304372135.png

注意事项

1、使用上述功能需要下载地图SDK,导入搜索功能的jar包。

2、地图SDK V4.1.3版本开始,SDK不再提供 com.amap.api.maps.overlay 包下的 overlay,已在官方demo中开源。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值