Regola la videocamera

La fotocamera ti consente di cambiare il punto di vista della mappa per l'utente. 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 videocamera:

  • 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 videocamera è rivolta automaticamente alla direzione di marcia. Se l'impostazione dei dettagli è attivata (NavigationMapStyle.HIGH_DETAIL), i contorni degli edifici in 2D vengono visualizzati con un livello di zoom pari o superiore a 19.

  • Bloccata nella posizione (GoogleMap.animateCamera e GoogleMap.moveCamera): sistema la videocamera 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 il navigatore è stato inizializzato, il pulsante Ricentra è visibile.

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

Fai clic sul pulsante Ricentra per impostare la fotocamera in modalità followMyLocation.

Segui la mia modalità di geolocalizzazione

L'impostazione più comune prevede che la fotocamera sia impostata sul dispositivo o sul veicolo per mostrare la sua posizione attuale durante il viaggio. In questa modalità della fotocamera, puoi visualizzare il percorso con l'auto sempre orientata verso lo schermo con una prospettiva inclinata (CameraPerspective.TILTED) oppure puoi vedere l'auto che viaggia con il nord (CameraPerspective.TOP_DOWN_NORTH_UP) o con l'orientamento (CameraPerspective.TOP_DOWN_HEADING_UP) sempre nella parte superiore dello schermo).

Il seguente frammento di codice utilizza il punto di vista 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 sulla fotocamera. In questa modalità puoi posizionare la videocamera in una posizione specifica, assegnare un movimento per orientare la visuale della videocamera, cambiare l'inclinazione per impostare l'angolo di visione e impostare il livello di zoom della videocamera.

Il seguente snippet di codice mostra 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 fotocamera showRouteOverview mostra l'intero percorso. Per i viaggi con più destinazioni, questa modalità mostra la parte non raggiunta del percorso.

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

Impostazione per dettagli elevati

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

In questo esempio è attivata l'impostazione Elevato dettaglio:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

L'esempio seguente sostituisce il livello di zoom della videocamera durante la navigazione. Il livello di zoom è impostato su 15 e consente di visualizzare i contorni degli edifici in 2D.

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

Passaggio successivo

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