studio - Cómo deshabilitar el marcador de mapa de Android, haga clic en centro automático
marker color google maps (3)
Estoy buscando una forma de desactivar el centro automático de mi fragmento de mapa en la funcionalidad del marcador seleccionado. Todavía quiero que aparezcan los marcadores InfoWindow, pero no centrar todo el mapa en el marcador que he seleccionado.
Eche un vistazo a la siguiente publicación:
No ajustar a marcador después de hacer clic en el mapa de Android v2
Hay un método dado por @DMan , básicamente necesita consumir el evento OnMarkerClick
y anular el comportamiento predeterminado:
// Since we are consuming the event this is necessary to
// manage closing openned markers before openning new ones
Marker lastOpenned = null;
mMap.setOnMarkerClickListener(new OnMarkerClickListener() {
public boolean onMarkerClick(Marker marker) {
// Check if there is an open info window
if (lastOpenned != null) {
// Close the info window
lastOpenned.hideInfoWindow();
// Is the marker the same marker that was already open
if (lastOpenned.equals(marker)) {
// Nullify the lastOpenned object
lastOpenned = null;
// Return so that the info window isn''t openned again
return true;
}
}
// Open the info window for the marker
marker.showInfoWindow();
// Re-assign the last openned such that we can close it later
lastOpenned = marker;
// Event was handled by our code do not launch default behaviour.
return true;
}
});
Manera simple:
- Implementar setOnMarkerClickListener ()
- Devuelve ''VERDADERO'' para evitar que GoogleMap mueva de forma predeterminada el centro del mapa al marcador.
Ejemplo:
map.setOnMarkerClickListener(
new OnMarkerClickListener() {
boolean doNotMoveCameraToCenterMarker = true;
public boolean onMarkerClick(Marker marker) {
//Do whatever you need to do here ....
return doNotMoveCameraToCenterMarker;
}
});
Muy simple:
Use el código siguiente para implementar setOnMarkerClickListener ().
@Override
public boolean onMarkerClick(Marker marker) {
marker.showInfoWindow(); // show info window
return true; // can''t move map by this
}