@Override public boolean onMarkerClick(Marker marker) { final BranchInfo item = (BranchInfo) marker.getExtraInfo().getSerializable("info"); Button button = new Button(getApplicationContext()); button.setText(item.getStation_name() + ">>"); button.setOnClickListener( new View.OnClickListener() { public void onClick(View v) { showPopup(item); } }); LatLng ll = marker.getPosition(); mInfoWindow = new InfoWindow(button, ll, -47); mBaiduMap.showInfoWindow(mInfoWindow); return true; }