Sterowanie i gesty

Wybierz platformę: Android iOS JavaScript

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

Przykładowe fragmenty kodu

Repozytorium APIDemos na GitHubie zawiera przykład ilustrujący użycie opcji sterowania i gestów:

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

Jeśli chcesz utworzyć prostą mapę, która wymaga minimalnej interakcji z użytkownikiem, rozważ użycie mapy w wersji uproszczonej. Wersja uproszczona udostępnia obraz bitmapowy mapy w określonym miejscu i 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 Maps API oferuje wbudowane elementy sterujące, podobne do tych, które można znaleźć w aplikacji Mapy Google na telefonie z systemem Android. Widoczność tych elementów sterujących możesz przełączać za pomocą klasy UiSettings, którą można uzyskać z poziomu GoogleMap za pomocą metody GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są natychmiast odzwierciedlane na mapie. Aby zobaczyć ich przykład, 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 od górnej, dolnej, lewej lub prawej krawędzi, dodając dopełnienie do obiektu GoogleMap.

Elementy sterujące powiększeniem

Interfejs Maps API ma wbudowane elementy sterujące powiększeniem wyświetlane 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 pojawia się tylko wtedy, gdy kierunek kamery jest większy niż zero lub kąt jego nachylenia nie jest zerowy. Gdy użytkownik kliknie kompas, 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, wywołując 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 obiektów, selektor poziomów będzie stosowany do tego, który jest w danym momencie widoczny (zazwyczaj znajduje się najbliżej środka ekranu). Każdy budynek ma domyślny poziom, który zostanie wybrany przy pierwszym wyświetleniu selektora. Użytkownicy mogą wybrać inny poziom, wybierając go z selektora.

Możesz włączyć lub wyłączyć selektor poziomu, wywołując metodę GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

Przydaje się to, gdy chcesz zastąpić domyślny selektor poziomu własnym.

Selektor poziomów

Pasek narzędzi mapy

Domyślnie, gdy użytkownik kliknie znacznik w prawym dolnym rogu mapy, wyświetli się pasek narzędzi. Pasek narzędzi zapewnia użytkownikowi 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 mapie w wersji uproszczonej pasek narzędzi działa niezależnie od działań użytkownika. Na w pełni interaktywnej mapie pasek narzędzi przesuwa się, gdy użytkownik kliknie znacznik, i wysuwa się ponownie, gdy znacznik przestanie być aktywny.

Na pasku narzędzi znajdują się ikony zapewniające dostęp do widoku mapy lub wskazówek dojazdu w aplikacji mobilnej Mapy Google. Gdy użytkownik klika ikonę na pasku narzędzi, interfejs API tworzy intencję uruchamiającą odpowiednie działanie 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 i tego, że aplikacja mobilna Mapy Google obsługuje intencję, na mapie pojawi się jedna lub obie ikony intencji.

Gesty w Mapach

Mapa utworzona za pomocą pakietu Maps SDK na Androida obsługuje te same gesty, co aplikacja Mapy Google. Czasami jednak warto wyłączyć niektóre gesty, aby zachować stan mapy. Powiększenie, przesuwanie, pochylanie i przechylanie można również ustawić automatycznie – więcej informacji znajdziesz w artykule Aparat i widok. 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 w interfejsie, możesz włączać i wyłączać gesty z klasą UiSettings, którą można uzyskać z GoogleMap przez wywołanie GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są natychmiast odzwierciedlane na mapie. Przykład tych funkcji znajdziesz w ćwiczeniu demonstracyjnym ustawień interfejsu użytkownika 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ą zmieniać poziom powiększenia kamery:

  • Kliknij dwukrotnie, aby zwiększyć poziom powiększenia o 1 (powiększenie).
  • Dotknij dwoma palcami, aby zmniejszyć poziom powiększenia o 1 (pomniejszenie).
  • Uszczypnij lub rozciągnij 2 palce
  • Powiększanie jednym palcem przez dwukrotne dotknięcie, ale bez zwalniania przy drugim dotknięciu, a potem przesunięcie palcem w górę, by pomniejszyć, lub w dół, by powiększyć.

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

Gesty przewijania

Użytkownik może przewijać 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 dwa palce na mapie i przesuwając je w dół lub w górę, aby odpowiednio zwiększyć lub zmniejszyć kąt pochylenia. Możesz wyłączyć gesty przechylania, wywołując funkcję UiSettings.setTiltGesturesEnabled(boolean).

Gesty obracania

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