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 z wbudowanych komponentów interfejsu mają pojawiać się na mapie i które gesty są dozwolone.

Przykładowe fragmenty kodu

Repozytorium API Apigee na GitHubie zawiera przykład, który pokazuje korzystanie z opcji sterowania i gestów:

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

Jeśli zależy Ci na uproszczonej mapie przy minimalnej interakcji użytkownika, rozważ użycie mapy w trybie uproszczonym. W wersji uproszczonej dostępny jest obraz bitmapy mapy w określonej lokalizacji i powiększeniu. 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 sterujące interfejsu

Interfejs API Map Google ma wbudowane elementy sterujące interfejsu podobne do tych, które można znaleźć 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 przy użyciu metody GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są natychmiast odzwierciedlane na mapie. Aby zobaczyć przykłady tych funkcji, spójrz na aktywność 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 w interfejsie ma wstępnie określone położenie względem krawędzi mapy. Elementy sterujące możesz odsunąć 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 są wyświetlane w prawym dolnym rogu mapy. Domyślnie są one wyłączone, ale można je włączyć, wywołując funkcję 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 jest widoczny tylko wtedy, gdy kamera jest zorientowana na wartość inną niż zero lub jej pochylenie jest większe od zera. Gdy użytkownik kliknie kompas, kamera przesuwa się z powrotem do pozycji z kierunkiem i pochyleniem wynoszącym zero (orientacja domyślna), a kompas po chwili znika. Wyświetlanie kompasu możesz całkowicie wyłączyć, wywołując funkcję UiSettings.setCompassEnabled(boolean). Nie można jednak wymusić, aby kompas był zawsze widoczny.

Kompas

Przycisk Moja lokalizacja

Przycisk Moja lokalizacja jest wyświetlany 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.

Przycisk Moja lokalizacja

Selektor poziomów

Domyślnie selektor poziomów (selektor pięter) wyświetla się w pobliżu prawej środkowej krawędzi ekranu, gdy użytkownik ogląda mapę wnętrza. Gdy widoczne są co najmniej dwie mapy obiektów, selektor poziomów będzie stosowany do aktualnie wybranego budynku, który zwykle znajduje się najbliżej środka ekranu. Każdy budynek ma poziom domyślny, 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ć selektor poziomu, wywołaj metodę GoogleMap.getUiSettings().setIndoorLevelPickerEnabled(boolean).

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

Selektor poziomów

Pasek narzędzi mapy

Domyślnie w prawym dolnym rogu mapy wyświetla się pasek narzędzi, gdy użytkownik kliknie znacznik. Pasek narzędzi zapewnia szybki dostęp do aplikacji mobilnej Mapy Google.

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

W mapie wersji uproszczonej pasek narzędzi działa niezależnie od działań użytkownika. W przypadku w pełni interaktywnej mapy pasek narzędzi przesuwa się, gdy użytkownik kliknie znacznik, i wysuwa się, gdy znacznik nie jest już aktywny.

Na pasku narzędzi są wyświetlane 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 tworzy zamiar uruchomienia odpowiedniego działania w aplikacji mobilnej Mapy Google.

Pasek narzędzi mapy

Pasek narzędzi jest widoczny w prawym dolnym rogu mapy na zrzucie ekranu powyżej. Na mapie będzie się wyświetlać zero ikon intencji, w zależności od jej zawartości i pod warunkiem, że aplikacja mobilna Mapy Google obsługuje tę intencję.

Gesty w Mapach

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ć określone gesty, aby zachować stan mapy. Powiększenie, przesunięcie, pochylenie i obrót można również ustawić automatycznie – więcej informacji znajdziesz na stronie Aparat i widok. Pamiętaj, że 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, gesty możesz włączać i wyłączać za pomocą klasy UiSettings, którą można uzyskać z GoogleMap, wywołując funkcję GoogleMap.getUiSettings. Zmiany wprowadzone w tych zajęciach są od razu widoczne na mapie. Przykłady tych funkcji znajdziesz w demonstracji działania ustawień interfejsu 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 aparatu:

  • Kliknij dwukrotnie, aby zwiększyć poziom powiększenia o 1.
  • Dotknij dwoma palcami, aby zmniejszyć poziom powiększenia o 1.
  • Ściągnij/rozciągnij 2 palcami
  • Powiększ jednym palcem, klikając dwukrotnie, ale nie odsuwając go przy drugim dotknięciu, a następnie przesuwając palcem w górę, aby pomniejszyć widok, lub w dół, aby powiększyć.

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

Gesty przewijania (przesuwania)

Użytkownik może przewijać mapę, przeciągając ją palcem. Aby wyłączyć przewijanie, wywołaj UiSettings.setScrollGesturesEnabled(boolean).

Gesty pochylenia

Użytkownik może przechylić mapę, umieszczając na niej dwa palce i przesuwając je razem w dół lub w górę, aby odpowiednio zwiększać lub zmniejszać kąt nachylenia. Aby wyłączyć gesty przechylania, wywołaj UiSettings.setTiltGesturesEnabled(boolean).

Gesty obracania

Użytkownik może obrócić mapę, umieszczając na niej dwa palce i wykonując ruch obrotowy. Możesz wyłączyć rotację, wywołując funkcję UiSettings.setRotateGesturesEnabled(boolean).