欢迎查看本篇文章
首先感谢高德技术人员协助帮助我解决疑问,本文需要您花费10分钟左右。
前言
由于想在地图上描绘地铁线突出显示,但是在SDK文档没有详细说明这一块,所以我就提交工单问了高德技术人员,终于解决了我的问题
使用
BusLineQuery busLineQuery2 = new BusLineQuery("1号线", BusLineQuery.SearchType.BY_LINE_NAME, "深圳");
busLineQuery2.setExtensions(BusLineSearch.EXTENSIONS_ALL);
BusLineSearch busLineSearch2 = new BusLineSearch(this, busLineQuery2);
busLineSearch2.setOnBusLineSearchListener(new BusLineSearch.OnBusLineSearchListener() {
@Override
public void onBusLineSearched(BusLineResult busLineResult, int i) {
LogUtils.e("BusLineResult2", JSON.toJSONString(busLineResult));
LogUtils.e("BusLineResult2", "code:" + i);
List<String> lineName = new ArrayList<>();
List<LatLng> latLngs = new ArrayList<>();
//记录路径线路点信息
for (LatLonPoint latLonPoint : busLineResult.getBusLines().get(0).getDirectionsCoordinates()) {
latLngs.add(new LatLng(latLonPoint.getLatitude(), latLonPoint.getLongitude()));
}
//记录地铁站点名
for (BusStationItem item : busLineResult.getBusLines().get(0).getBusStations()) {
lineName.add(item.getBusStationName());
}
LogUtils.e("BusLineResult2", JSON.toJSONString(lineName));
//在map上划线
aMap.addPolyline(new PolylineOptions().
addAll(latLngs).width(10).color(Color.argb(255, 1, 1, 1)));
}
});
busLineSearch2.searchBusLineAsyn();
注:查询中包含扩展字段
//查询全部,包含地铁线路径点和地铁站点信息
busLineQuery.setExtensions(BusLineSearch.EXTENSIONS_ALL);
//查询基本信息,只返回地铁路径点信息,不返回地铁站点信息
busLineQuery.setExtensions(BusLineSearch.EXTENSIONS_BASE);
如上使用即可查看效果
技术人员回复:
您好,
可以在公交路线的回调结果中获取到相关的信息,请参考API文档:
https://a.amap.com/lbs/static/unzip/Android_Map_Doc/index.html
注意搜索SDK7.6.0版本开始新增了 setExtensions(java.lang.String extensions)方法控制数据反馈,可以通过BusLineQuery设置为all。
回调结果参考:https://a.amap.com/lbs/static/unzip/Android_Map_Doc/Search/com/amap/api/services/busline/BusLineSearch.OnBusLineSearchListener.html
感谢您的致信,欢迎持续关注高德开放平台!
结尾
感谢大家阅读,祝大家一直变强,不会变秃