您的位置:首页 > 移动开发 > Android开发

Android - 百度地图 - OnBusStation点击无效问题

2015-09-09 16:15 756 查看

之前遇到一个问题,就是添加公交线路后点击公交图标没有任何反应,而demo点击会出Toast提示.查看源码发现:

需要设置BaiduMap的Marker监听….

mBaiduMap.setOnMarkerClickListener(overlay);


原理是:

//实现Marker的点击监听
public abstract class OverlayManager implements OnMarkerClickListener, OnPolylineClickListener

public class BusLineOverlay extends OverlayManager
{
  public boolean onBusStationClick(int var1) {
  //默认点击显示Toast
        if(this.a.getStations() != null && this.a.getStations().get(var1) != null) {
            Toast.makeText(a.a().e(), ((BusStation)this.a.getStations().get(var1)).getTitle(), 1).show();
        }

        return false;
    }

    public final boolean onMarkerClick(Marker var1) {
    //如果被点击的marker是公交站点的话,调用onBusStationClick
        return this.c != null && this.c.contains(var1)?this.onBusStationClick(this.c.indexOf(var1)):false;
    }
}


因为公交的每一个小车是一个Marker,所以不添加mBaiduMap.setOnMarkerClickListener(overlay);的话是无法回调的。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: