Это возможно. Вот простое решение.
Прежде всего вы должны объявить GoogleMap.OnMarkerClickListener и GoogleMap.OnMapClickListener в своей деятельности или фрагменте, подобным этому.
public class MapActivity extends FragmentActivity implements
GoogleMap.OnMarkerClickListener,
GoogleMap.OnMapClickListener
{
//..
}
И затем зарегистрируйте эти интерфейсы в вашем методе onCreate ().
@Override
protected void onCreate(Bundle savedInstanceState)
{
//..
SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
mMap.setOnMarkerClickListener(this);
mMap.setOnMapClickListener(this);
}
Наконец, вы можете реализовать два интерфейса. Вы должны вызвать метод onMapClick () в методе onMarkerClick (), чтобы добиться этого, даже если вы нажмете на такой маркер. Не забудьте вернуть true в методе onMarkerClick ().
@Override
public void onMapClick(LatLng latLng) {
Log.v("onMapClick", "Map Clicked..")
}
@Override
public boolean onMarkerClick(Marker marker) {
onMapClick(marker.getPosition());
return true;
}