高德地图BusLineOverlay自定义公交线路

项目中用到一个功能,对车辆运行情况监控,在地图上显示。
因此需要在地图上绘制一条线路,显示每个站点的车站信息,以及当前车辆在线路上的运行情况。
类似高德地图demo中公交线路查询的样式
这里写图片描述

查了下文档,在BusLIneOverlay中看到这么一段话

公交线路图层类。在高德地图API里,如果要显示公交线路,可以用此类来创建公交线路图层。如不满足需求,也可以自己创建自定义的公交线路图层。

看来应该需要自定义实现。除了这个还有BusRouteOverlay,貌似这个是给出起始点坐标然后联网规划用的吧,没怎么看。还是用BusLineOverlay,因为看了下代码貌似需要提供线路坐标和车站坐标,和我需求比较相近。

看了下BusLineOverlay使用方法,基本上初始化之后,调用 addToMap()方法即可。BusLineOverlay所需参数如下:

    public BusLineOverlay(Context context, AMap amap, BusLineItem busLineItem) 

context和amap目前都有了,现在主要需要创建BusLineItem ,这个类在AMap_Search_V3.2.1_20160308.jar这个包内,如果没有导入,需要导入下。

然后BusLineItem中主要内容(部分)如下。。。。

public class BusLineItem implements Parcelable {
   
   
    private float a;
    private String b;
    private String c;
    private String d;
    private List<LatLonPoint> e = new ArrayList();
    private List<LatLonPoint> f = new ArrayList();
    private String g;
    private String h;
    private String i;
    private Date j;
    private Date k;
    private String l;
    private float m;
    private float n;
    private List<BusStationItem> o = new ArrayList();
    public static final Creator<BusLineItem> CREATOR = new a();

    public BusLineItem() {
    }

这些abcde需要结合后边提供的Getter和Setter方法才能知道大概意思,然后我调试了官方demo抓取了一些数据研究了下,整理如下:

原始 含义 内容样例
private float a; 公交线路全程里程 a = 20.00017
private String b; 线路名称 b = “641路(金盏村–和平西桥)”
private String c; 线路类型 c = “普通公交”
private String d; 城市代码 d = “010”
private List e = new ArrayList(); 公交线路的沿途坐标,包含首发站和终点站坐标。 e = {ArrayList@4457} size = 283
private List f = new ArrayList(); 公交线路外包矩形的左下与右上顶点坐标。 f = {ArrayList@4458} size = 2
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值