Dzięki pakietowi Maps SDK na Androida możesz dostosować sposób interakcji użytkowników z mapą, określając, które wbudowane komponenty interfejsu mają się na niej pojawiać i jakie gesty są dozwolone.
Przykładowe fragmenty kodu
Repozytorium ApiDemos na GitHubie zawiera przykład, który pokazuje, jak korzystać z opcji sterowania i gestów:
- UiSettingsDemoActivity: przykład w języku Kotlin
- UiSettingsDemoActivity: przykład w języku Java
Tryb uproszczony do minimalnej interakcji z użytkownikiem
Jeśli chcesz mieć lekką mapę z minimalną interakcją z użytkownikiem, rozważ użycie mapy w trybie uproszczonym. Tryb uproszczony oferuje obraz bitmapowy mapy w określonej lokalizacji i na określonym poziomie powiększenia. W trybie uproszczonym użytkownicy nie mogą przesuwać ani powiększać mapy, a gesty nie działają. Więcej informacji znajdziesz w przewodniku po trybie uproszczonym.
Elementy sterujące interfejsu
Interfejs API Map Google oferuje wbudowane elementy sterujące interfejsu, które są podobne do tych 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 klasy GoogleMap za pomocą metody GoogleMap.getUiSettings. Zmiany wprowadzone w tej klasie są natychmiast odzwierciedlane na mapie. Aby
zobaczyć przykład tych funkcji, zapoznaj się z aktywnością demonstracyjną ustawień interfejsu w
przykładowej aplikacji.
Większość tych opcji możesz też skonfigurować podczas tworzenia mapy za pomocą atrybutów XML lub używając klasy GoogleMapOptions. Więcej informacji znajdziesz w artykule Konfigurowanie stanu początkowego.
Każdy element sterujący interfejsu ma z góry 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. Są one domyślnie wyłączone, ale można je włączyć, wywołując metodę UiSettings.setZoomControlsEnabled(true).
Kompas
Interfejs API Map Google udostępnia grafikę kompasu, która w pewnych okolicznościach pojawia się w lewym górnym rogu mapy. Kompas będzie się wyświetlać tylko wtedy, gdy kamera jest ustawiona tak, że ma niezerowy kierunek lub niezerowe nachylenie. Gdy użytkownik kliknie kompas, kamera wróci do pozycji z kierunkiem i nachyleniem równym zero (domyślna orientacja), a kompas wkrótce zniknie. Możesz całkowicie wyłączyć wyświetlanie kompasu, wywołując metodę UiSettings.setCompassEnabled(boolean).
Nie możesz jednak wymusić, aby kompas był zawsze widoczny.
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.
Selektor poziomu
Domyślnie, gdy użytkownik wyświetla mapę obiektu, w pobliżu środka prawej krawędzi ekranu pojawia się selektor poziomu (selektor piętra). Gdy widoczne są co najmniej 2 mapy wnętrza, selektor poziomu będzie dotyczyć budynku, który jest obecnie w centrum uwagi, czyli zwykle tego, który znajduje się najbliżej środka ekranu. Każdy budynek ma domyślny poziom, który zostanie wybrany, gdy selektor zostanie wyświetlony po raz pierwszy. Użytkownicy mogą wybrać inny poziom, klikając go w selektorze.
Możesz włączyć lub wyłączyć element sterujący selektora poziomu, wywołując 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ż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).
Na mapie w trybie uproszczonym pasek narzędzi jest widoczny niezależnie od działań użytkownika. Na mapie w pełni interaktywnej pasek narzędzi wysuwa się, gdy użytkownik kliknie znacznik, i chowa się, gdy znacznik przestanie być w centrum uwagi.
Pasek narzędzi wyświetla ikony, które zapewniają 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 intencję uruchomienia odpowiedniej aktywności w aplikacji mobilnej Mapy Google.
Na zrzucie ekranu powyżej pasek narzędzi jest widoczny w prawym dolnym rogu mapy. Na mapie pojawi się zero, 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ę.
wprowadzonych w Androidzie 11.Gesty na mapie
Mapa utworzona za pomocą pakietu Maps SDK na Androida obsługuje te same gesty co aplikacja Mapy Google. W niektórych sytuacjach możesz jednak chcieć wyłączyć niektóre gesty, aby zachować stan mapy. Powiększenie, przesuwanie, nachylenie i kierunek można też ustawić programowo. Więcej informacji znajdziesz w artykule Kamera i widok. Pamiętaj, że wyłączenie gestów nie wpływa na możliwość programowej zmiany pozycji kamery.
Podobnie jak w przypadku elementów sterujących interfejsu, gesty możesz włączać i wyłączać za pomocą klasy
UiSettings, którą można uzyskać z klasy GoogleMap
, wywołując metodę GoogleMap.getUiSettings. Zmiany wprowadzone w tej klasie są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykład tych funkcji, zapoznaj się z aktywnością demonstracyjną ustawień interfejsu w przykładowej aplikacji (instrukcje instalacji znajdziesz
tutaj).
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 dwoma palcami, aby zmniejszyć poziom powiększenia o 1 (pomniejszenie).
- Ściąganie i rozciąganie dwoma palcami.
- Powiększanie jednym palcem przez dwukrotne kliknięcie, ale bez zwalniania palca przy drugim kliknięciu, a następnie przesunięcie palca w górę, aby pomniejszyć, lub w dół, aby powiększyć.
Gesty powiększenia możesz wyłączyć, wywołując metodę UiSettings.setZoomGesturesEnabled(boolean). Nie wpłynie to na możliwość powiększania i pomniejszania za pomocą elementów sterujących powiększeniem.
Gesty przewijania (przesuwania)
Użytkownik może przewijać (przesuwać) mapę, przeciągając ją palcem.
Przewijanie możesz wyłączyć, wywołując metodę UiSettings.setScrollGesturesEnabled(boolean).
Gesty nachylenia
Użytkownik może nachylić mapę, umieszczając na niej 2 palce i przesuwając je razem w dół lub w górę, aby odpowiednio zwiększyć lub zmniejszyć kąt nachylenia. Gesty nachylenia możesz wyłączyć, wywołując metodę UiSettings.setTiltGesturesEnabled(boolean).
Gesty obracania
Użytkownik może obracać mapę, umieszczając na niej 2 palce i wykonując ruch obrotowy. Obracanie możesz wyłączyć, wywołując metodę UiSettings.setRotateGesturesEnabled(boolean).