Regola la videocamera

La fotocamera ti consente di cambiare il punto di vista dell'utente sulla mappa. Puoi utilizzare le modalità fotocamera per controllare il comportamento della visualizzazione mappa durante la navigazione. Per impostare la modalità fotocamera, chiama uno dei seguenti metodi associati alla fotocamera:

  • Segui la mia posizione (GoogleMap.followMyLocation): la modalità predefinita della fotocamera per la navigazione. Questa modalità imposta la fotocamera sul dispositivo o sul veicolo. Durante la navigazione, la fotocamera è rivolta automaticamente nella direzione di marcia. Quando è attiva l'impostazione per i dettagli elevati (NavigationMapStyle.HIGH_DETAIL), i contorni degli edifici in 2-D vengono visualizzati quando il livello di zoom è pari o superiore a 19.

  • Bloccato sulla posizione (GoogleMap.animateCamera e GoogleMap.moveCamera): : sistema la fotocamera in una posizione specifica. Quando utilizzi questa modalità, puoi impostare la posizione della videocamera insieme ad altre proprietà della videocamera come orientamento, inclinazione, zoom e così via. Quando questa vista è selezionata e la barra di navigazione è stata inizializzata, è visibile il pulsante Ricentra.

  • Mostra panoramica percorso (NavigationView.showRouteOverview o SupportNavigationFragment.showRouteOverview): mostra una panoramica del percorso rimanente, panoramica e zoom secondo necessità per adattare il percorso alla visualizzazione mappa. Quando questa vista è selezionata, il pulsante Ricentra è visibile.

Se fai clic sul pulsante Riposiziona, la videocamera viene impostata sulla modalità followMyLocation.

Modalità Segui la mia posizione

L'impostazione più comune della videocamera è l'impostazione della videocamera sul dispositivo o sul veicolo, mostrando la posizione corrente durante la corsa. In questa modalità della fotocamera, puoi visualizzare il percorso con l'auto sempre rivolta verso lo schermo con una prospettiva inclinata (CameraPerspective.TILTED) oppure puoi vedere l'auto che si sposta con il nord (CameraPerspective.TOP_DOWN_NORTH_UP) o con la direzione (CameraPerspective.TOP_DOWN_HEADING_UP) sempre nella parte superiore dello schermo).

Il seguente frammento di codice utilizza la prospettiva TILTED:

// Set the camera to follow the device (vehicle):
mNavFragment.getMapAsync(googleMap -> googleMap.followMyLocation(CameraPerspective.TILTED))

Bloccato in modalità di geolocalizzazione

La modalità Pinned ti offre il massimo controllo della videocamera. In questa modalità, posizioni la videocamera in un luogo specifico, assegni un angolo per orientare l'inquadratura della videocamera, modifichi l'inclinazione per impostare l'angolo di visione e imposti il livello di zoom della videocamera.

Il seguente snippet di codice illustra alcuni dei metodi più comuni per spostare la videocamera.

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));

Mostra modalità panoramica percorso

L'impostazione della videocamera showRouteOverview mostra l'intero percorso. Per i viaggi verso più destinazioni, questa modalità mostra la parte non percorsa del percorso.

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

Impostazione di alti dettagli

Quando l'impostazione per i dettagli elevati è attivata, i contorni degli edifici in 2-D vengono visualizzati quando il livello di zoom della fotocamera è impostato su 19 o superiore. Puoi ignorare il livello di zoom durante la navigazione utilizzando un oggetto FollowMyLocationOptions. Ciò consente di aumentare il livello di zoom a sufficienza da visualizzare i contorni dell'edificio in 2D man mano che l'utente si avvicina alla destinazione.

In questo esempio viene attivata l'impostazione per un livello di dettaglio elevato:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

L'esempio seguente sostituisce il livello di zoom della fotocamera durante la navigazione. Il livello di zoom, impostato su 15, è sufficientemente alto per visualizzare i contorni degli edifici in 2-D.

  googleMap.followMyLocation(
              FollowMyLocationOptions.builder(CameraPerspective.TILTED)
                      .setZoomLevel(15.0f)
                      .build());

Passaggio successivo

Consulta Personalizzazione dell'interfaccia utente di navigazione per scoprire come personalizzare il modo in cui gli utenti interagiscono con la mappa stabilendo quali componenti UI integrati vengono visualizzati sulla mappa.