Sterowanie i gesty

Wybierz platformę: Android iOS JavaScript

Za pomocą pakietu SDK Map Google na Androida możesz dostosować sposób, w jaki użytkownicy mogą korzystać z mapy, określając, które z wbudowanych komponentów interfejsu użytkownika mają być widoczne na mapie i które gesty są dozwolone.

Przykładowe fragmenty kodu

Repozytorium ApiDemos w GitHubie zawiera przykład ilustrujące użycie opcji sterowania i gestów:

Wersja uproszczona zapewniająca minimalną interakcję użytkownika

Jeśli potrzebujesz lekkiej mapy, która wymaga minimalnej interakcji z użytkownikiem, rozważ użycie mapy w wersji uproszczonej. Wersja uproszczona udostępnia obraz bitmapy mapy w określonej lokalizacji i w określonym poziomie powiększenia. W wersji uproszczonej użytkownicy nie mogą przesuwać ani powiększać mapy, a gesty nie działają. Szczegółowe informacje znajdziesz w przewodniku po wersji uproszczonej.

Elementy sterujące interfejsu

Interfejs API Map Google oferuje wbudowane elementy sterujące interfejsu podobne do tych, które znajdziesz w aplikacji Mapy Google na telefonie z Androidem. Widoczność tych elementów sterujących możesz przełączać za pomocą klasy UiSettings, którą można uzyskać z obiektu GoogleMap za pomocą metody GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykład takich funkcji, obejrzyj ćwiczenie demonstracyjne ustawień interfejsu w przykładowej aplikacji.

Większość z tych opcji możesz też skonfigurować podczas tworzenia mapy za pomocą atrybutów XML lub klasy GoogleMapOptions. Więcej informacji znajdziesz w artykule Konfigurowanie stanu początkowego.

Każdy element sterujący interfejsu ma wstępnie określoną pozycję względem krawędzi mapy. Możesz odsunąć elementy sterujące poza górną, dolną, lewą lub prawą krawędź, dodając dopełnienie do obiektu GoogleMap.

Elementy sterujące powiększeniem

Interfejs API Map Google ma wbudowane elementy sterujące powiększeniem, które są widoczne w prawym dolnym rogu mapy. Domyślnie są one wyłączone, ale można je włączyć, wywołując UiSettings.setZoomControlsEnabled(true).

Elementy sterujące powiększeniem

Kompas

Interfejs API Map Google udostępnia grafikę kompasu, która w pewnych okolicznościach wyświetla się w lewym górnym rogu mapy. Kompas pojawi się tylko wtedy, gdy kamera będzie ustawiona tak, że jej przechylenie jest inne niż zero. Po kliknięciu kompasu kamera cofnie się do pozycji z odchyleniem od zera (orientacja domyślna), a wkrótce znika. Możesz całkowicie wyłączyć wyświetlanie kompasu, dzwoniąc pod numer UiSettings.setCompassEnabled(boolean). Nie można jednak wymusić wyświetlania kompasu.

Kompas

Przycisk Moja lokalizacja

Przycisk Moja lokalizacja pojawia się w prawym górnym rogu ekranu tylko wtedy, gdy włączona jest warstwa Moja lokalizacja. Więcej informacji znajdziesz w przewodniku po danych o lokalizacji.

Przycisk Moja lokalizacja

Selektor poziomów

Domyślnie selektor poziomów (selektor pięter) wyświetla się w prawej środkowej części ekranu, gdy użytkownik przegląda mapę obiektu. Gdy widoczne są co najmniej dwie mapy obiektu, selektor poziomów będzie stosowany do budynku, który jest obecnie widoczny (zazwyczaj znajduje się najbliżej środka ekranu). Każdy budynek ma poziom domyślny, który zostanie wybrany przy pierwszym wyświetleniu selektora. Użytkownicy mogą wybrać inny poziom, wybierając go z selektora.

Aby wyłączyć lub włączyć selektor poziomów, wywołaj metodę GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Jest to przydatne, gdy chcesz zastąpić domyślny selektor poziomów własnym.

Selektor poziomów

Pasek narzędzi mapy

Domyślnie, gdy użytkownik kliknie znacznik w prawym dolnym rogu mapy, pojawi się pasek narzędzi. Pasek narzędzi zapewnia szybki dostęp do aplikacji mobilnej Mapy Google.

Pasek narzędzi możesz włączać i wyłączać, wywołując metodę UiSettings.setMapToolbarEnabled(boolean).

W przypadku mapy w wersji uproszczonej pasek narzędzi utrzymuje się niezależnie od działań użytkownika. Na w pełni interaktywnej mapie pasek narzędzi pojawia się, gdy użytkownik kliknie znacznik, i ponownie się wysuwa, gdy znacznik przestanie być zaznaczony.

Na pasku narzędzi znajdują się ikony zapewniające dostęp do widoku mapy lub prośby o wskazówki dojazdu w aplikacji mobilnej Mapy Google. Gdy użytkownik kliknie ikonę na pasku narzędzi, interfejs API tworzy intencję w celu uruchomienia odpowiedniej aktywności w aplikacji mobilnej Mapy Google.

Pasek narzędzi mapy

Pasek narzędzi jest widoczny w prawym dolnym rogu mapy na zrzucie ekranu powyżej. W zależności od zawartości mapy na mapie pojawi się 0 lub jedna lub obie z tych ikon intencji, o ile aplikacja mobilna Mapy Google obsługuje taką intencję.

Gesty mapy

Mapa utworzona za pomocą pakietu Maps SDK na Androida obsługuje te same gesty co aplikacja Mapy Google. Mogą jednak wystąpić sytuacje, gdy zechcesz wyłączyć niektóre gesty, by zachować stan mapy. Powiększenie, przesunięcie, pochylenie i przesunięcie można ustawić automatycznie. Więcej informacji znajdziesz w Aparacie i widoku. Pamiętaj, że wyłączenie gestów nie ma wpływu na to, czy możesz automatycznie zmienić pozycję kamery.

Podobnie jak w przypadku elementów sterujących interfejsu, możesz włączać i wyłączać gesty za pomocą klasy UiSettings, które można uzyskiwać z GoogleMap przez wywołanie GoogleMap.getUiSettings. Zmiany wprowadzone w tej klasie są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykład tych funkcji, obejrzyj działanie demonstracyjne ustawienia interfejsu w przykładowej aplikacji (tutaj dowiesz się, jak to zrobić).

Te opcje możesz też skonfigurować podczas tworzenia mapy za pomocą atrybutów XML lub klasy GoogleMapOptions. Więcej informacji znajdziesz w artykule Konfigurowanie mapy.

Gesty powiększenia

Mapa reaguje na różne gesty, które mogą zmienić poziom powiększenia kamery:

  • Kliknij dwukrotnie, aby zwiększyć poziom powiększenia o 1 (powiększenie).
  • Aby zmniejszyć poziom powiększenia o 1, kliknij dwoma palcami.
  • Uszczypnij/rozciągnij dwoma palcami
  • Powiększanie jednym palcem przez dwukrotne dotknięcie, ale nie zwalnianie przy drugim dotknięciu, a następnie przesunięcie palcem w górę, aby pomniejszyć, lub w dół, aby powiększyć.

Możesz wyłączyć gesty powiększenia, wywołując metodę UiSettings.setZoomGesturesEnabled(boolean). Nie wpływa to na to, czy użytkownik może korzystać z elementów sterujących powiększeniem, aby powiększać i pomniejszać obraz.

Gesty przewijania

Użytkownik może przewijać (przesuwać) mapę, przeciągając ją palcem. Możesz wyłączyć przewijanie, wywołując UiSettings.setScrollGesturesEnabled(boolean).

Gesty pochylenia

Użytkownik może przechylać mapę, umieszczając na niej dwa palce i przesuwając je razem w dół lub w górę, aby odpowiednio zwiększyć lub zmniejszyć kąt nachylenia. Aby wyłączyć gesty przechylania, wywołaj funkcję UiSettings.setTiltGesturesEnabled(boolean).

Gesty obracania

Użytkownik może obracać mapę, umieszczając na niej dwa palce i obracając ruch. Możesz wyłączyć rotację, wywołując funkcję UiSettings.setRotateGesturesEnabled(boolean).