Regola la videocamera

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

  • Segui la mia posizione (GoogleMap.followMyLocation): la modalità della fotocamera predefinita per la navigazione. Questa modalità imposta la videocamera sul dispositivo o sul veicolo. Durante la navigazione, la fotocamera si orienta automaticamente in base alla direzione di marcia. Quando l'impostazione di dettaglio elevato è attivata (NavigationMapStyle.HIGH_DETAIL), i contorni degli edifici 2D vengono visualizzati quando il livello di zoom è pari o superiore a 19.

  • Fissato in posizione (GoogleMap.animateCamera e GoogleMap.moveCamera): blocca la fotocamera in una posizione specifica. Quando utilizzi questa modalità, puoi impostare la posizione della fotocamera e altre proprietà della fotocamera, come orientamento, inclinazione, zoom e così via. Quando questa visualizzazione è selezionata e il navigatore è stato inizializzato, viene visualizzato il pulsante Ricentra.

  • Mostra panoramica del percorso (NavigationView.showRouteOverview o SupportNavigationFragment.showRouteOverview): mostra una panoramica del percorso rimanente, eseguendo la panoramica e lo zoom in base alle esigenze per adattare il percorso alla visualizzazione mappa. Quando questa visualizzazione è selezionata, il pulsante Ricentra è visibile.

Se fai clic sul pulsante Ricentra, la fotocamera viene impostata sulla modalità followMyLocation.

Modalità Segui la mia posizione

L'impostazione più comune della videocamera è impostarla sul dispositivo o sul veicolo, mostrando la sua posizione attuale all'interno del tragitto. In questa modalità della fotocamera, puoi visualizzare il percorso con l'auto sempre rivolta verso l'alto dello schermo con una prospettiva inclinata (CameraPerspective.TILTED) oppure puoi vedere l'auto che viaggia verso nord (CameraPerspective.TOP_DOWN_NORTH_UP) o con rotta (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))

Modalità Fissata alla posizione

La modalità Pinned ti offre il massimo controllo sulla videocamera. In questa modalità, posiziona la videocamera in un luogo specifico, assegna un'angolazione per orientare la visuale della videocamera, modifica l'inclinazione per impostare l'angolo di visuale e imposta il livello di zoom della videocamera.

Il seguente snippet di codice mostra alcuni dei modi comuni per spostare la fotocamera.

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 la modalità Panoramica percorso

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

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

Impostazione di alta definizione

Quando l'impostazione di dettaglio elevato è attivata, vengono visualizzati i contorni degli edifici in 2D quando il livello di zoom della videocamera è impostato su 19 o superiore. Puoi ignorare il livello di zoom durante la navigazione utilizzando un oggetto FollowMyLocationOptions. In questo modo, puoi aumentare il livello di zoom in modo da visualizzare i contorni degli edifici in 2D man mano che l'utente si avvicina alla destinazione.

Questo esempio attiva l'impostazione di alto livello di dettaglio:

  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, un valore sufficientemente elevato per visualizzare i contorni degli edifici in 2D.

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

Passaggio successivo

Consulta la sezione Personalizzare l'interfaccia utente di navigazione per scoprire come personalizzare il modo in cui gli utenti interagiscono con la tua mappa determinando quali componenti dell'interfaccia utente incorporati vengono visualizzati sulla mappa.