Mark 点击后显示具体信息
private void showMarker(LatLng latLng,int i) { OverlayOptions option = new MarkerOptions().position(latLng).icon(BitmapDescriptorFactory.fromResource(R.drawable.icon_mark)).title(String.valueOf(i));//这里用title来传递id信息,也可以用追加.extraInfo(bundle)传递更多信息
if (baiduMap != null) { baiduMap.addOverlay(option); } }
private void setMapClickListener() {
baiduMap.setOnMarkerClickListener(new BaiduMap.OnMarkerClickListener() {
@Override
public boolean onMarkerClick(Marker marker) {
Bundle bundle = marker.getExtraInfo(); // 获取更多bundle信息
LatLng point = marker.getPosition();
String title = marker.getTitle();
try{
int id = Integer.parseInt(title);
showBubble(point, id);
}catch (NumberFormatException e)
{
}
return false;
}
});
}
void showBubble(LatLng point, int id) { BitmapDescriptor bitmap2 = BitmapDescriptorFactory .fromResource(R.drawable.bubble); View view = View.inflate(getContext(),R.layout.project_map_info,null); TextView message = view.findViewById(R.id.messagemap); message.setText(showProjectInfo(id)); //响应点击的OnInfoWindowClickListener InfoWindow.OnInfoWindowClickListener listener = new InfoWindow.OnInfoWindowClickListener() { @Override public void onInfoWindowClick() { } }; infoWindow = new InfoWindow(view, point , -100); //可以view, 可以bitmap, 可查看源码 baiduMap.showInfoWindow(infoWindow); }