Ajuster la caméra

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 cartographique 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 de 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 la marche.

  • Épinglé à un lieu (GoogleMap.animateCamera et GoogleMap.moveCamera) : fixe la caméra à un endroit 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, telles que le relèvement, 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 ou SupportNavigationFragment.showRouteOverview) : affiche un aperçu du reste de l'itinéraire (jusqu'à 45 minutes de trajet), en effectuant un panoramique et un zoom si nécessaire pour adapter l'itinéraire à la vue cartographique. Lorsque cette vue est sélectionnée, le bouton Recentrer est visible.

Lorsque 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 pendant le trajet. Dans ce mode de caméra, vous pouvez afficher l'itinéraire avec la voiture toujours en 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 avec 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))

Mode Épinglé à un 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 attribuez un relèvement pour orienter la vue de la caméra, 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));

Mode Afficher un aperçu de l'itinéraire

Le paramètre de caméra showRouteOverview affiche l'intégralité du trajet. Pour les trajets à plusieurs destinations, ce mode affiche la partie non parcourue de l'itinéraire.

// Place the camera to see the remaining route:
mNavFragment.showRouteOverview();

Étape suivante

Consultez Personnaliser l'interface utilisateur de navigation pour découvrir comment personnaliser la façon dont les utilisateurs interagissent avec votre carte en déterminant quels composants d'interface utilisateur intégrés apparaissent sur la carte.