Dostosuj ustawienia kamery

Aparat umożliwia zmianę punktu widzenia użytkownika na mapie. Dostępne opcje korzystać z trybów aparatu do sterowania wyświetlaniem mapy podczas nawigacji. Aby ustawić tryb aparatu, wywołaj jedną z podanych niżej metod przy użyciu aparatu:

  • Śledź moją lokalizację (GoogleMap.followMyLocation) – domyślny aparat tryb nawigacji. Ten tryb ustawia aparat na urządzeniu lub w pojeździe. Podczas nawigacji aparat automatycznie jest skierowany w kierunku jazdy. Po włączeniu opcji wysokiej jakości (NavigationMapStyle.HIGH_DETAIL): Kontury budynków 2D są wyświetlane, gdy poziom powiększenia wynosi 19 lub więcej.

  • Przypięto do lokalizacji (GoogleMap.animateCamera i GoogleMap.moveCamera) – Utrwala kamerę w określonej lokalizacji. Korzystając z tego trybu, możesz: ustaw lokalizację kamery i jej inne właściwości, takie jak położenie, nachylenie, zoom itp. Po wybraniu tego widoku i zainicjowaniu nawigacji przycisk Wyśrodkuj jest widoczny.

  • Pokaż opis trasy (NavigationView.showRouteOverview lub SupportNavigationFragment.showRouteOverview) – wyświetla przegląd. pozostałą trasę, przesuwając i powiększając w zależności od potrzeb, aby dopasować ją do trasy. w widoku mapy. Po wybraniu tego widoku przycisk Wyśrodkuj jest widoczny.

Kliknięcie przycisku Wyśrodkuj powoduje ustawienie kamery w trybie followMyLocation.

Śledź mój tryb lokalizacji

Ustawieniem kamery jest najczęściej urządzenia lub pojazdu, które pokazują jego aktualne położenie na trasie przejazdu. W w tym trybie aparatu, możesz zobaczyć trasę, gdy samochód jest zawsze podniesiony ekran z perspektywą pod kątem (CameraPerspective.TILTED) lub czy możesz zobaczyć samochód jadący z północą (CameraPerspective.TOP_DOWN_NORTH_UP) lub z nagłówkiem (CameraPerspective.TOP_DOWN_HEADING_UP) zawsze na górze na ekranie.

Następujący fragment kodu korzysta z perspektywy TILTED:

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

Przypięto do trybu lokalizacji

Tryb Pinned zapewnia największą kontrolę nad aparat fotograficzny. W tym trybie umieszczasz kamerę w konkretnym miejscu, ustawić okrąg, aby ustawić widok kamery, zmienić nachylenie, aby ustawić kąt patrzenia; ustawić poziom powiększenia kamery.

Fragment kodu poniżej pokazuje typowe sposoby przenoszenia aparat fotograficzny.

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

Pokaż tryb przeglądu trasy

Ustawienie aparatu showRouteOverview wyświetla całą podróż. W przypadku podróży do wielu miejsc ten tryb wyświetla nieprzebytą odległość dana część trasy.

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

Ustawienie Wysoka szczegółowość

Gdy ustawienie wysokiej jakości jest włączone, wyświetlane są dwuwymiarowe kontury budynków gdy poziom powiększenia kamery jest ustawiony na 19 lub więcej. Możesz zastąpić poziom powiększenia podczas nawigacji za pomocą obiektu FollowMyLocationOptions. Ten pozwala zwiększyć poziom powiększenia do poziomu umożliwiającego wyświetlenie dwuwymiarowych konturów budynków użytkownik zbliża się do celu.

Ten przykład włącza ustawienie wysokiej jakości:

  navigationView.setNavigationMapStyle(NavigationMapStyle.HIGH_DETAIL);

Poniższy przykład zastępuje poziom powiększenia kamery podczas nawigacji. Poziom powiększenia jest ustawiony na 15, co jest wystarczającym poziomem do wyświetlenia 2D budynku. i konspektów.

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

Następny krok

Zobacz Dostosowywanie interfejsu nawigacji. aby dowiedzieć się, jak dostosować sposób, w jaki użytkownicy wchodzą w interakcję z mapą określając, które z wbudowanych komponentów interfejsu pojawią się na mapie.