La caméra vous permet de modifier le point de vue de l'utilisateur sur la carte. Vous pouvez utiliser les modes de caméra pour contrôler le comportement de la vue de la carte pendant la navigation. Pour définir le mode de la caméra, appelez l'une des méthodes suivantes associées à la caméra :
Suivre ma position (
GoogleMap.followMyLocation
) : mode caméra par défaut pour la navigation. Ce mode définit la caméra sur l'appareil ou le véhicule. Pendant la navigation, la caméra est automatiquement orientée dans le sens de déplacement.Épinglé à un emplacement (
GoogleMap.animateCamera
etGoogleMap.moveCamera
) : fixe la caméra à un emplacement spécifique. Lorsque vous utilisez ce mode, vous pouvez définir l'emplacement de la caméra ainsi que d'autres propriétés de la caméra, comme la direction, l'inclinaison, le zoom, etc. Lorsque cette vue est sélectionnée et que le navigateur a été initialisé, le bouton Recentrer est visible.Afficher un aperçu de l'itinéraire (
NavigationView.showRouteOverview
ouSupportNavigationFragment.showRouteOverview
) : affiche un aperçu de l'itinéraire restant (jusqu'aux 45 prochaines minutes de trajet), en effectuant un panoramique et un zoom si nécessaire pour adapter l'itinéraire à la vue de la carte. Lorsque cette vue est sélectionnée, le bouton Recentrer est visible.
Si vous cliquez sur le bouton Recentrer, la caméra passe en mode followMyLocation
.
Mode "Suivre ma position"
Le paramètre de caméra le plus courant consiste à définir la caméra sur l'appareil ou le véhicule, en affichant sa position actuelle au cours du trajet. Dans ce mode, vous pouvez afficher l'itinéraire avec la voiture toujours orientée vers le haut de l'écran avec une perspective inclinée (CameraPerspective.TILTED
), ou vous pouvez voir la voiture se déplacer avec le nord (CameraPerspective.TOP_DOWN_NORTH_UP
) ou le cap (CameraPerspective.TOP_DOWN_HEADING_UP)
) toujours en haut de l'écran.
Le fragment de code suivant utilise la perspective TILTED
:
// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))
Épinglé au mode Lieu
Le mode Pinned
vous offre le plus de contrôle sur la caméra. Dans ce mode, vous placez la caméra à un endroit spécifique, vous lui attribuez un cap pour orienter la vue, vous modifiez l'inclinaison pour définir l'angle de vue et vous définissez le niveau de zoom de la caméra.
L'extrait de code suivant illustre quelques-unes des méthodes les plus utilisées pour déplacer la caméra.
private static final LatLng SYDNEY = new LatLng(-33.88, 151.21);
private static final LatLng MOUNTAIN_VIEW = new LatLng(37.4, -122.1);
private GoogleMap map;
... // Obtain the map from a SupportNavigationFragment or NavigationView.
// Move the camera instantly to Sydney with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(SYDNEY, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomIn());
// Zoom out to zoom level 10, animating with a duration of 2 seconds.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
// Construct a CameraPosition focusing on Mountain View and animate the camera to that position.
CameraPosition cameraPosition = new CameraPosition.Builder()
.target(MOUNTAIN_VIEW) // Sets the center of the map to Mountain View
.zoom(17) // Sets the zoom
.bearing(90) // Sets the orientation of the camera to east
.tilt(30) // Sets the tilt of the camera to 30 degrees
.build(); // Creates a CameraPosition from the builder
map.animateCamera(CameraUpdateFactory.newCameraPosition(cameraPosition));
Afficher le mode Aperçu de l'itinéraire
Le paramètre de caméra showRouteOverview
affiche l'intégralité du trajet.
Pour les trajets à destinations multiples, ce mode affiche la partie de l'itinéraire qui n'a pas encore été parcourue.
// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();
Étape suivante
Consultez Personnaliser l'UI de navigation pour découvrir comment personnaliser la façon dont les utilisateurs interagissent avec votre carte en déterminant quels composants d'UI intégrés apparaissent sur la carte.