Tryby aparatu

Klasa Camera udostępnia metody ustawiania różnych trybów aparatu. Każdy tryb zapewnia inny sposób wyświetlania mapy podczas nawigacji. Aby ustawić tryb aparatu, wywołaj jedną z tych metod:

followMyLocation()
To domyślny tryb aparatu do nawigacji. Ten tryb konfiguruje kamerę tak, aby podążała za pojazdem. Podczas nawigacji kamera jest automatycznie skierowana w kierunku jazdy.
setLocation()
Przesuwa i powiększa kamerę, aby wskazać konkretną lokalizację. Gdy używasz tego trybu, możesz ustawić lokalizację kamery, kierunek, w którym ona się obraca, oraz poziom powiększenia. Gdy używasz tego trybu aparatu, pojawia się przycisk Wyśrodkuj.
showRouteOverview()
Wyświetla przegląd pozostałej trasy, przesuwając i powiększając w razie potrzeby w celu dopasowania trasy do widoku mapy. Gdy używasz tego trybu aparatu, pojawia się przycisk Wyśrodkuj.

Kliknięcie przycisku Wyśrodkuj powoduje ustawienie trybu aparatu na Śledź moją lokalizację.

Śledź mój tryb lokalizacji

To najczęściej używany tryb aparatu do nawigacji, w którym kamera podąża za pojazdem. W tym trybie aparatu możesz wyświetlić trasę za pomocą:

  • Pojazd zawsze skierowany w górę ekranu, widoczny z powietrza pod kątem (Camera.Perspective.TILTED).

  • Pojazd poruszający się na mapie jest zawsze zorientowany na północ i widoczny z pionu z powietrza (Camera.Perspective.TOP_DOWN_NORTH_UP).

  • Pojazd zawsze skierowany w górę ekranu, widoczny z pionu z pionu (Camera.Perspective.TOP_DOWN_HEADING_UP).

Poniższy przykładowy kod pokazuje, jak ustawić tryb aparatu na Śledź moją lokalizację i korzystać z widoku z góry pod kątem.

NavFragment.getCamera().followMyLocation(Camera.Perspective.TILTED);

Ustaw tryb lokalizacji

Tryb setLocation daje deweloperowi największą kontrolę nad kamerą. W tym trybie umieszczasz kamerę w określonym miejscu, przypisujesz jej kierunek, aby określić kierunek widoku, i ustawiasz poziom powiększenia.

Konfiguracja obejmuje określenie lokalizacji kamery na podstawie współrzędnych GPS, a następnie określenie jej położenia, ustawienie kamery i poziom powiększenia:

// Set up a stationary camera
// Pick a location to place the camera: Seattle Space Needle
double cameraLatitude = 47.6101d;
double cameraLongitude = -122.3421d;  // Use negative for W of Greenwich.

// Package the coordinates
com.google.android.libraries.navigation.LatLng cameraCenter;
cameraCenter = new com.google.android.libraries.navigation.LatLng (cameraLatitude, cameraLongitude);

// Prepare the state info for the setLocation method.
com.google.android.libraries.navigation.CameraPosition newCameraPosition;
newCameraPosition = new com.google.android.libraries.navigation.CameraPosition();

newCameraPosition.center(cameraCenter);
newCameraPosition.bearing(-90.00f); // N 0.00; E 90.00; S 180.00; W 270.0 (or -90.0).
newCameraPosition.zoom(14.0f);      // Zooms to street level (approx.)

boolean animate = true;
mNavFragment.getCamera().setLocation(newCameraPosition, animate);

Pokaż tryb opisu trasy

Ustawienie kamery w showRouteOverview pokazuje całą podróż. W przypadku podróży z wieloma miejscami docelowymi ten tryb wyświetla nieprzebytą część trasy.

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

Następny krok

W sekcji Niestandardowy interfejs nawigacji znajdziesz informacje o tym, jak dostosować sposób, w jaki użytkownicy korzystają z mapy, określając, które z wbudowanych komponentów UI pojawią się na mapie.