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 mapy, określając, które wbudowane komponenty interfejsu użytkownika pojawią się na mapie i które gesty są dozwolone.

Przykładowe fragmenty kodu

Repozytorium AIDemos na GitHubie zawiera przykład pokazujący korzystanie z opcji sterowania i gestów:

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

Jeśli potrzebujesz prostej mapy, która wymaga minimalnej interakcji z użytkownikiem, rozważ użycie mapy w wersji uproszczonej. Wersja uproszczona udostępnia obraz mapy bitowej w określonej lokalizacji i powiększeniu. 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, 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 obiektu GoogleMap za pomocą metody GoogleMap.getUiSettings. Zmiany wprowadzone na tych zajęciach są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykład takich funkcji, zobacz działanie demonstracyjne ustawienia 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 API Map Google udostępnia wbudowane elementy sterujące powiększeniem, które pojawiają się 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 kąt nachylenia kamery jest większy niż zero. Gdy użytkownik kliknie kompas, kamera cofnie się do pozycji z odchyleniem w kierunku zero (orientacja domyślna), a wkrótce znika. Możesz całkowicie wyłączyć kompas, wywołając połączenie UiSettings.setCompassEnabled(boolean). Nie można jednak wymusić, aby kompas był zawsze widoczny.

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) pojawia się w prawej środkowej części ekranu, gdy użytkownik przegląda mapę wnętrz. Gdy widoczne są co najmniej dwie mapy obiektu, selektor poziomów zostanie zastosowany do budynku, który jest obecnie widoczny i 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.

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

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

Selektor poziomów

Pasek narzędzi mapy

Domyślnie po kliknięciu znacznika w prawym dolnym rogu mapy pojawia się pasek narzędzi. Pasek narzędzi daje użytkownikowi szybki dostęp do aplikacji mobilnej Mapy Google.

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

W mapie w trybie 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 znika z powrotem, gdy znacznik przestanie się wyświetlać.

Na pasku narzędzi wyświetlają 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 utworzy zamiar do 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 i tego, czy aplikacja mobilna Mapy Google obsługuje daną intencję, na mapie pojawi się zero, jedna lub obie ikony intencji.

Gesty na mapie

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. Można też automatycznie ustawić powiększenie, przesunięcie, pochylenie i przesunięcie – więcej szczegółów znajdziesz w sekcji 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 interfejsu, możesz włączać i wyłączać gesty z klasą UiSettings, które można uzyskiwać z GoogleMap, wywołując GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykład tych funkcji, obejrzyj działanie demonstracyjne ustawień interfejsu w przykładowej aplikacji (tutaj dowiesz się, jak je zainstalować).

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).
  • Aby zmniejszyć powiększenie o 1 (pomniejszenie), dotknij dwoma palcami.
  • Uszczypnij/rozciągnij 2 palcami
  • Powiększanie jednym palcem przez dwukrotne dotknięcie, ale nie uwalnianie przy drugim dotknięciu, a potem przesunięcie palcem w górę, aby pomniejszyć widok, lub w dół, aby powiększyć.

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

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 przechylić mapę, umieszczając na niej dwa palce 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 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).