Elementy sterujące i gesty

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.
Wybierz platformę: Android iOS JavaScript

Za pomocą pakietu SDK Map na Androida możesz dostosować sposób, w jaki użytkownicy mogą wchodzić w interakcję z Twoją mapą. Aby to zrobić, ustal, które z wbudowanych komponentów UI pojawią się na mapie, a które będą dozwolone.

Przykładowe fragmenty kodu

Repozytorium ApiDemos na GitHubie zawiera przykład, który ilustruje użycie opcji sterowania i gestów:

Wersja uproszczona dla użytkownika

Jeśli potrzebujesz prostej mapy, która wymaga minimalnej liczby interakcji z użytkownikiem, rozważ użycie mapy w wersji uproszczonej. Wersja uproszczona umożliwia wyświetlanie obrazu mapy bitowej w określonej lokalizacji i przy użyciu 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 opcje interfejsu, które są podobne do tych dostępnych w aplikacji Mapy Google na telefonie z Androidem. Widoczność tych elementów sterujących możesz zmienić za pomocą klasy UiSettings, którą można uzyskać z metody GoogleMap przy użyciu metody GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach zostaną natychmiast odzwierciedlone na mapie. Przykład tych funkcji znajdziesz w prezentacji dotyczącej 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 sekcji Konfigurowanie stanu początkowego.

Każdy element sterujący interfejsu ma wstępnie określoną pozycję względem krawędzi mapy. Aby przenieść elementy sterujące z górnej, dolnej, lewej lub prawej krawędzi, dodaj dopełnienie do obiektu GoogleMap.

Elementy sterujące powiększeniem

Interfejs API Map Google udostępnia wbudowane opcje powiększenia, które wyświetlają się w prawym dolnym rogu mapy. Są one domyślnie wyłączone, ale można je włączyć, wywołując UiSettings.setZoomControlsEnabled(true).

Elementy sterujące powiększeniem

Kompas

Interfejs Maps API udostępnia grafikę kompasu widoczną w lewym górnym rogu mapy w niektórych okolicznościach. Kompas pojawia się tylko wtedy, gdy kamera jest ustawiona w taki sposób, że jej kąt nachylenia nie jest zerowy ani pochylenie. Gdy użytkownik kliknie kompas, kamera animuje się z pozycją pochylenia i pozycji zerowej (domyślna orientacja), po czym zaraz kompas zniknie. Aby całkowicie wyłączyć wyświetlanie kompasu, wywołaj funkcję UiSettings.setCompassEnabled(boolean). Nie możesz jednak wymusić wyświetlania kompasu.

Kompas

Przycisk Moja lokalizacja

Przycisk Moja lokalizacja jest wyświetlany w prawym górnym rogu ekranu tylko po włączeniu warstwy Moja lokalizacja. Szczegółowe informacje znajdziesz w przewodniku po danych o lokalizacji.

Przycisk Moja lokalizacja

Selektor poziomu

Domyślnie selektor poziomu (selektor pięter) pojawia się po prawej stronie ekranu po prawej stronie ekranu, gdy użytkownik przegląda mapę wewnętrzną. Gdy widzisz co najmniej 2 mapy obiektów, selektor poziomu zostanie zastosowany do aktualnie wybranego budynku, który zazwyczaj znajduje się najbliżej środka ekranu. Każdy budynek ma domyślny poziom, który zostanie wybrany podczas pierwszego wyświetlania selektora. Użytkownicy mogą wybrać inny poziom, wybierając go ze selektora.

Możesz wyłączyć lub włączyć selektor poziomu, dzwoniąc do GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

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

Selektor poziomu

Pasek narzędzi mapy

Domyślnie, gdy użytkownik kliknie znacznik, w prawym dolnym rogu mapy pojawi 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ć, dzwoniąc do UiSettings.setMapToolbarEnabled(boolean).

W mapie 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 przesunie się ponownie, gdy znacznik nie będzie już aktywny.

Pasek narzędzi wyświetla ikony, które umożliwiają dostęp do widoku mapy lub wskazówek dojazdu w aplikacji mobilnej Mapy Google. Gdy użytkownik kliknie ikonę na pasku narzędzi, interfejs API tworzy intencję uruchamiającą daną aktywność w aplikacji mobilnej Mapy Google.

Pasek narzędzi Map

Pasek narzędzi jest widoczny w prawym dolnym rogu mapy na powyższym zrzucie ekranu. Zero, jedna lub obie ikony intencji są widoczne na mapie w zależności od zawartości mapy i pod warunkiem, że aplikacja Mapy Google obsługuje wynikowe intencje.

Gesty na mapie

Mapa utworzona za pomocą pakietu SDK Map na Androida obsługuje te same gesty co aplikacja Mapy Google. Może się jednak zdarzyć, że zechcesz wyłączyć niektóre gesty, aby zachować stan mapy. Powiększanie, przesuwanie, pochylanie i obrotowe można też ustawiać programowo – więcej informacji znajdziesz w artykule Aparat i widok. Wyłączenie gestów nie ma wpływu na to, czy można automatycznie zmienić położenie kamery.

Podobnie jak w przypadku elementów sterujących interfejsu, możesz włączać i wyłączać gesty za pomocą klasy UiSettings, którą można uzyskać z wywołania GoogleMap, wywołując właściwość GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach zostaną od razu odzwierciedlone na mapie. Aby zobaczyć przykładowe funkcje, zajrzyj do przykładowej aktywności ustawień aplikacji w przykładowej aplikacji (tutaj dowiesz się, jak ją 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).
  • Kliknij 2 palcami, aby zmniejszyć poziom powiększenia o 1 (pomniejszenie).
  • Rozciągnij/rozciągnij 2 palcami
  • Powiększanie jednym palcem, dwukrotne klikanie bez dotykania drugiego, a następnie przesuwanie palcem w górę, aby pomniejszyć, lub w dół.

Możesz wyłączyć gesty powiększenia, dzwoniąc do UiSettings.setZoomGesturesEnabled(boolean). Nie ma to wpływu na to, czy użytkownik może skorzystać z elementów sterujących powiększeniem.

Gesty przewijania (przesuwanie)

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

Gesty w pochyleniu

Użytkownik może pochylić mapę, umieszczając na niej 2 palce i przesuwając je w dół lub w górę, aby odpowiednio zwiększyć lub zmniejszyć kąt nachylenia. Aby wyłączyć gest pochylenia, użyj polecenia UiSettings.setTiltGesturesEnabled(boolean).

Obróć gesty

Użytkownik może obracać mapę, umieszczając na niej 2 palce i stosując obracanie. Aby wyłączyć rotację, UiSettings.setRotateGesturesEnabled(boolean).