Dzięki pakietowi Maps SDK na Androida możesz dostosować sposób, w jaki użytkownicy mogą wchodzić w interakcje z mapą, określając, które z wbudowanych komponentów interfejsu użytkownika mają się pojawiać na mapie i które gesty są dozwolone.
Przykładowe fragmenty kodu
Repozytorium ApiDemos na GitHubie zawiera przykład pokazujący, jak korzystać z opcji sterowania i gestów:
- UiSettingsDemoActivity: przykładowy kod w języku Kotlin
- UiSettingsDemoActivity: przykładowy kod w języku Java
Wersja uproszczona, która wymaga minimalnej interakcji użytkownika
Jeśli chcesz mieć lekką mapę z minimalną interakcją użytkownika, rozważ użycie mapy w wersji uproszczonej. Wersja uproszczona wyświetla mapę w postaci obrazu bitmapowego w określonej lokalizacji i na określonym poziomie powiększenia. W wersji uproszczonej użytkownicy nie mogą przesuwać ani powiększać mapy, a gesty nie działają. Więcej informacji znajdziesz w przewodniku po wersji uproszczonej.
Elementy sterujące interfejsu
Interfejs API Map Google udostępnia 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 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 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.
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 UiSettings.setZoomControlsEnabled(true).
Kompas
Interfejs API Map Google udostępnia grafikę kompasu, która w określonych okolicznościach pojawia się w lewym górnym rogu mapy. Kompas pojawia się tylko wtedy, gdy kamera jest ustawiona w taki sposób, że ma niezerowy kierunek lub niezerowe nachylenie. Gdy użytkownik kliknie kompas, kamera animuje powrót do pozycji z zerowym namiarem i zerowym nachyleniem (orientacja domyślna), a kompas wkrótce potem znika. Możesz całkowicie wyłączyć wyświetlanie kompasu, wywołując funkcję 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 warstwa Moja lokalizacja jest włączona. Więcej informacji znajdziesz w przewodniku po danych o lokalizacji.
Selektor poziomu
Domyślnie selektor poziomu (selektor piętra) pojawia się w pobliżu środka prawej krawędzi ekranu, gdy użytkownik wyświetla mapę obiektu. Jeśli widoczne są co najmniej 2 mapy obiektów, selektor poziomu będzie dotyczyć budynku, który jest aktualnie na pierwszym planie (zwykle jest to budynek 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, wybierając go w selektorze.
Selektor poziomu możesz wyłączyć lub włączyć, 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 pasek narzędzi pojawia się w prawym dolnym rogu mapy, gdy użytkownik kliknie znacznik. 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 funkcję UiSettings.setMapToolbarEnabled(boolean).
W mapie w trybie uproszczonym pasek narzędzi pozostaje niezależnie od działań użytkownika. Na w pełni interaktywnej mapie pasek narzędzi wysuwa się, gdy użytkownik kliknie znacznik, i chowa się, gdy znacznik nie jest już zaznaczony.
Na pasku narzędzi wyświetlają się ikony, które umożliwiają 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 tworzy intencję, aby uruchomić odpowiednie działanie 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ę.
Gesty na mapie
Mapa utworzona za pomocą pakietu Maps SDK 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ększenie, przesunięcie, pochylenie i orientację można też ustawić programowo – więcej informacji znajdziesz w artykule Aparat 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 obiektu 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 (tutaj znajdziesz instrukcje instalacji).
Możesz też skonfigurować te opcje 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ększyć).
- Kliknij dwoma palcami, aby zmniejszyć poziom powiększenia o 1 (pomniejszyć).
- Ściągnięcie/rozciągnięcie 2 palcami
- Powiększanie jednym palcem przez dwukrotne kliknięcie, ale bez puszczania przy drugim kliknięciu, a następnie przesunięcie palcem w górę, aby pomniejszyć, lub w dół, aby powiększyć.
Gesty powiększania możesz wyłączyć, wywołując funkcję UiSettings.setZoomGesturesEnabled(boolean). Nie wpłynie to na możliwość korzystania przez użytkownika z elementów sterujących powiększeniem.
Gesty przewijania (przesuwania)
Użytkownik może przewijać (przesuwać) mapę, przeciągając ją palcem.
Możesz wyłączyć przewijanie, wywołując funkcję UiSettings.setScrollGesturesEnabled(boolean).
Gesty przechylania
Użytkownik może przechylić 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. Gesty przechylania możesz wyłączyć, wywołując metodę UiSettings.setTiltGesturesEnabled(boolean).
Gesty obracania
Użytkownik może obrócić mapę, umieszczając na niej 2 palce i wykonując ruch obrotowy. Możesz wyłączyć rotację, wywołując funkcję UiSettings.setRotateGesturesEnabled(boolean).