Za pomocą pakietu SDK Maps na Androida możesz dostosować sposób interakcji użytkowników z mapą, określając, które z wbudowanych elementów interfejsu pojawią się na mapie i które gesty będą dozwolone.
Przykładowe fragmenty kodu
Repozytorium ApiDemos w GitHubie zawiera przykład, który pokazuje użycie opcji sterowania i gestów:
- UiSettingsDemoActivity: przykład Java
- UiSettingsDemoActivity: przykład Kotlin
Wersja uproszczona zapewnia minimalną interakcję użytkowników
Jeśli potrzebujesz prostej mapy z niewielką liczbą interakcji użytkowników, rozważ użycie mapy w wersji uproszczonej. W wersji uproszczonej mapa bitowa jest mapowana na określony poziom powiększenia i powiększenia. W trybie uproszczonym użytkownicy nie mogą przesuwać ani powiększać mapy, a gesty nie działają. Szczegółowe informacje znajdziesz w przewodniku po wersji uproszczonej.
Elementy interfejsu
Interfejs API Map Google ma wbudowane elementy sterujące, które są podobne do tych dostępnych w aplikacji Mapy Google na telefonie z Androidem. Widoczność tych ustawień możesz zmieniać za pomocą klasy UiSettings
, którą można uzyskać z metody GoogleMap
, za pomocą metody GoogleMap.getUiSettings
. Zmiany wprowadzone w tych zajęciach zostaną natychmiast odzwierciedlone na mapie. Aby zobaczyć przykładową funkcję, sprawdź aktywność demonstracyjną ustawień interfejsu użytkownika w przykładowej aplikacji.
Większość z tych opcji możesz też skonfigurować podczas tworzenia mapy, korzystając z atrybutów XML lub klasy GoogleMapOptions
. Więcej informacji znajdziesz w sekcji Konfigurowanie początkowego stanu.
Każdy element sterujący interfejsu ma wstępnie określoną pozycję względem krawędzi mapy.
Aby przesunąć elementy z góry, u dołu, z lewej lub prawej krawędzi, dodaj dopełnienie do obiektu GoogleMap
.
Elementy sterujące powiększeniem
Interfejs Maps API ma wbudowane opcje powiększenia, 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)
.

Kompas
Interfejs Maps API (w określonych okolicznościach) wyświetla grafikę kompasu widoczną w lewym górnym rogu mapy. Kompas może pojawić się tylko wtedy, gdy kamera jest ustawiona w taki sposób, że jej kierunek zerowy jest niezerowy. Gdy użytkownik kliknie kompas, kamera animuje się z pozycją skośną i odchyloną od zera (w orientacji domyślnej), a kompas wkrótce zanika. Aby całkowicie wyłączyć wyświetlanie kompasu, wywołaj funkcję UiSettings.setCompassEnabled(boolean)
.
Nie możesz jednak wymusić wyświetlania kompasu.

Przycisk Moja lokalizacja
Przycisk Moja lokalizacja jest widoczny w prawym górnym rogu ekranu tylko wtedy, gdy włączona jest warstwa Moja lokalizacja. Szczegółowe informacje znajdziesz w przewodniku po danych o lokalizacji.

Selektor poziomu
Domyślnie selektor poziomu (selektor pięter) wyświetla się w pobliżu prawego górnego rogu ekranu, gdy użytkownik przegląda mapę wewnętrzną. Gdy widać co najmniej 2 mapy wewnętrzne, selektor poziomu będzie stosowany do budynku, na którym się aktualnie znajduje, czyli zwykle do środka ekranu. Każdy budynek ma domyślny poziom, który zostanie wybrany po pierwszym wyświetleniu selektora. Użytkownicy mogą wybrać inny poziom, wybierając go z selektora.
Aby wyłączyć lub włączyć element wyboru poziomu, wywołaj metodę GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean)
.
Jest to przydatne, jeśli chcesz zastąpić domyślny selektor poziomu własnym.

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 użytkownikom szybki dostęp do aplikacji mobilnej Mapy Google.
Możesz włączyć i wyłączyć pasek narzędzi, wywołując polecenie UiSettings.setMapToolbarEnabled(boolean)
.
Na mapie wersji uproszczonej pasek narzędzi pozostaje niezależny od działań użytkownika. Na w pełni interaktywnej mapie pasek narzędzi przesuwa się, gdy użytkownik kliknie znacznik, i przesuwa go ponownie, gdy znacznik nie będzie już ustawiony.
Na pasku narzędzi są 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 utworzy zamiar uruchomienia odpowiedniej aktywności w aplikacji mobilnej Mapy Google.

Pasek narzędzi jest widoczny w prawym dolnym rogu mapy na powyższym zrzucie ekranu. Na mapie pojawi się jedna lub obie ikony intencji, w zależności od zawartości mapy i pod warunkiem, że aplikacja mobilna Mapy Google obsługuje wynikową intencję.
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 będziesz chcieć wyłączyć niektóre gesty, aby zachować stan mapy. Powiększanie, przesuwanie, pochylanie i łożenie można również skonfigurować automatycznie. Więcej informacji znajdziesz w artykule Kamera i widok. Wyłączenie gestów nie ma wpływu na to, czy możesz zmienić położenie kamery.
Podobnie jak elementy sterujące interfejsu, możesz włączać i wyłączać gesty za pomocą klasy UiSettings
, którą można uzyskać z metody GoogleMap
, wywołując GoogleMap.getUiSettings
. Zmiany wprowadzone w tej klasie
będą natychmiast widoczne na mapie. Aby zobaczyć przykład działania tych funkcji, zapoznaj się z przykładowym działaniem ustawień w przykładowej aplikacji (patrz tutaj, aby dowiedzieć się, jak ją zainstalować).
Te opcje możesz też skonfigurować podczas tworzenia mapy za pomocą atrybutów XML lub za pomocą klasy GoogleMapOptions
.
Więcej informacji znajdziesz w artykule Konfigurowanie mapy.
Gesty powiększania
Mapa reaguje na różne gesty, które mogą zmieniać poziom powiększenia kamery:
- Kliknij dwukrotnie, aby zwiększyć powiększenie o 1 (powiększenie).
- Kliknij dwukrotnie dwoma palcami, aby zmniejszyć poziom powiększenia o 1 (powiększenie).
- Rozciągnij/rozciągnij 2 palcami
- Powiększ jednym palcem, klikając dwukrotnie, ale nie zwalniając drugiego, a następnie przesuwając palcem w górę, by pomniejszyć.
Aby wyłączyć gesty powiększenia, wywołaj funkcję 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 (przesuwania)
Użytkownik może przesuwać (przesuwać) mapę, przeciągając ją palcem.
Możesz wyłączyć przewijanie, wywołując UiSettings.setScrollGesturesEnabled(boolean)
.
Gesty przechylania
Użytkownik może przechylać 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 nachylenia. Możesz wyłączyć gesty przechylania, wywołując UiSettings.setTiltGesturesEnabled(boolean)
.
Obracanie gestów
Użytkownik może obracać mapę, umieszczając na niej dwa palce i wykonując ruch. Możesz wyłączyć rotację, wywołując UiSettings.setRotateGesturesEnabled(boolean)
.