之前遇到一个问题,就是添加公交线路后点击公交图标没有任何反应,而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;
}
}