首先,先看一下效果图吧。
Marker应该在添加的时候不是什么大问题,直接添加就可以。下面是添加Marker的代码。注意,我辨别Marker为了方便用的是title,大家可以用bundle来存储传值。
OverlayOptions option = new MarkerOptions()
.position(lspoint)
.animateType(MarkerOptions.MarkerAnimateType.none)
.title(mad + "")
.anchor(0.5f, 1.0f)
.icon(descriptor)
.draggable(false);//marker是否可拖拽
这是添加最普通的Marker。下一篇博客将着重说一下覆盖物。
添加完Marker,就应该写出他的点击事件,然后在点击的时候弹出InfoWindow。废话不多说,看代码。
mBaiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(final Marker marker) {
View view = View.inflate(context, R.layout.activity_map_info, null);
TextView xiugai = view.findViewById(R.id.map_tv_xiugai);
TextView yidong = view.findViewById(R.id.map_tv_yidong);
TextView shanchu = view.findViewById(R.id.map_tv_shanchu);
TextView quxiao = view.findViewById(R.id.map_tv_quxiao);
TextView kance = view.findViewById(R.id.map_tv_kance);
final InfoWindow mInfoWindow = new InfoWindow(view, marker.getPosition(), -47);
mBaiduMap.showInfoWindow(mInfoWindow);
kance.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//关闭InfoWindow
mBaiduMap.hideInfoWindow();
}
});
}
}
我在这是自己写的布局,大家可以自己任意定义。好嘞,就这样。下一篇,百度地图的所有覆盖物。