Wersja uproszczona

Pakiet SDK Map na Androida może wyświetlać obraz mapy w formacie bitmapy, oferując użytkownikowi ograniczoną interaktywność. Jest to tzw. mapa w trybie uproszczonym.

Przykładowe fragmenty kodu

Repozytorium ApiDemos na GitHubie zawiera przykłady, które pokazują, jak korzystać z trybu lite:

Omówienie wersji uproszczonej

Mapa w trybie uproszczonym to obraz mapy w formacie bitmapy w określonej lokalizacji i poziomie powiększenia. Tryb Lite obsługuje wszystkie typy map (normalna, hybrydowa, satelitarna, terenu) oraz podzbiór funkcji udostępnianych przez pełny interfejs API. Tryb Lite jest przydatny, gdy chcesz wyświetlić na strumieniach wiele map lub mapę, która jest zbyt mała, aby umożliwić znaczącą interakcję.

Użytkownicy, którzy wyświetlają mapę, nie mogą jej powiększać ani przesuwać. Ikony na mapie umożliwiają użytkownikom wyświetlanie mapy w aplikacji mobilnej Mapy Google i wyznaczanie tras.

Dodawanie mapy w trybie uproszczonym

Tryb uproszczony korzysta z tych samych klas i interfejsów co pełna wersja interfejsu API Map Google na Androida. Tryb GoogleMap możesz ustawić w ten sposób:

  • Jako atrybut XML w elementach MapView lub MapFragment.
  • Lub w obiekcie GoogleMapOptions

Jako atrybut XML w elemencie MapView lub MapFragment

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:map="http://schemas.android.com/apk/res-auto"
    android:name="com.google.android.gms.maps.MapFragment"
    android:id="@+id/map"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    map:cameraZoom="13"
    map:mapType="normal"
    map:liteMode="true"/>

W obiekcie GoogleMapOptions

Kotlin

val options = GoogleMapOptions()
    .liteMode(true)

      

Java

GoogleMapOptions options = new GoogleMapOptions()
    .liteMode(true);

      

Szczegółowe informacje o ustawianiu początkowego stanu mapy znajdziesz w przewodniku dotyczącym obiektu mapy.

intencje uruchamiające widok mapy lub prośbę o wyznaczanie trasy;

Domyślnie pasek narzędzi w prawym dolnym rogu mapy zawiera ikony, które umożliwiają wyświetlanie mapy lub prośbę o wskazanie trasy w aplikacji mobilnej Mapy Google. Możesz wyłączyć pasek narzędzi, wywołując UiSettings.setMapToolbarEnabled(false). Więcej informacji znajdziesz w dokumentacji paska narzędzi.

Gdy użytkownik kliknie mapę, interfejs API uruchamia domyślnie mobilną aplikację Mapy Google. Możesz to zmienić, używając funkcji GoogleMap.setOnMapClickListener() do ustawienia własnego listenera. Zdarzenia kliknięcia na mapie możesz też wyłączyć, wywołując funkcję setClickable() w widoku zawierającym element MapView lub MapFragment. Szczegółowe informacje o tych 2 metodach znajdziesz w dokumentacji zdarzeń.

Zdarzenia cyklu życia

Podczas korzystania z interfejsu API w pełnym trybie interaktywnym użytkownicy klasy MapView muszą przekazywać wszystkie metody cyklu życia aktywności do odpowiednich metod w klasie MapView. Przykłady metod cyklu życia to onCreate(), onDestroy(), onResume()onPause().

Gdy używasz klasy MapViewtrybie uproszczonym, przekierowywanie zdarzeń cyklu życia jest opcjonalne, z wyjątkiem tych sytuacji:

  • Wymagane jest wywołanie funkcji onCreate(), w przeciwnym razie mapa się nie wyświetli.
  • Jeśli chcesz wyświetlić kropkę Moja lokalizacja na mapie w trybie uproszczonym i używać domyślnego źródła lokalizacji, musisz wywołać funkcje onResume()onPause(), ponieważ źródło lokalizacji będzie aktualizowane tylko między tymi wywołaniami. Jeśli używasz własnego źródła danych o lokalizacji, nie musisz wywoływać tych dwóch metod.

Obsługiwane funkcje interfejsu API

W tabeli poniżej opisano działanie mapy w trybie uproszczonym w poszczególnych obszarach funkcji interfejsu API. Jeśli aplikacja wywoła metodę, która nie jest obsługiwana w trybie Lite, interfejs API zarejestruje komunikat ostrzegawczy.

Funkcjonalność
Typy map
Czy jest obsługiwane? Tak
W interfejsach GoogleMapOptions.mapType()GoogleMap.setMapType() dostępne są te typy map: MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRIDMAP_TYPE_NONE.
Linie złożone, wielokąty, okręgi
Czy jest obsługiwane? Tak
Funkcje trybu lite dotyczące kształtów odpowiadają pełnemu interfejsowi API.
Odwzorowanie
Czy jest obsługiwane? Tak
Tryb lite funkcji Projection odpowiada pełnemu interfejsowi API.
Moja lokalizacja
Czy jest obsługiwane? Tak
Tryb lite w przypadku warstwy Moja lokalizacja odpowiada pełnemu interfejsowi API.
Dopełnienie mapy
Czy jest obsługiwane? Tak
Obsługa trybu lite dla wypełniania mapy odpowiada pełnemu interfejsowi API.
Okna informacyjne
Czy jest obsługiwane? Tak
Jeśli ustawisz title() znacznika, po jego kliknięciu przez użytkownika pojawi się domyślne okno informacyjne. Możesz wyświetlić okno informacyjne programowo, wywołując metodę showInfoWindow() na znaczniku. Możesz też tworzyć niestandardowe okna informacji w interfejsie InfoWindowAdapter.
Niestandardowe style mapy podstawowej
Czy jest obsługiwane? Częściowo
Pakiet SDK Map na Androida umożliwia stosowanie niestandardowego stylu do mapy podstawowej. Tryb Lite obsługuje tylko styl niestandardowy oparty na formacie JSON, a nie styl oparty na konsoli Cloud, który wymaga identyfikatora mapy do renderowania mapy stylizowanej. Tryb uproszczony nie obsługuje też ustawień schematu kolorów mapy, aby używać ciemnego trybu.
Znaczniki
Czy jest obsługiwane? Częściowo
Możesz dodać znacznik i zareagować na zdarzenie kliknięcia. Możesz też dodać niestandardowe ikony znaczników. Nie można przeciągać znacznika. Znaczniki na mapie w trybie uproszczonym są płaskie i nie można ich obracać.
Pozycja kamery, powiększenie i animacja
Czy jest obsługiwane? Częściowo

Możesz ustawić cel i powiększenie kamery, ale nie jej pochylenia ani kierunku. W trybie Lite poziom powiększenia jest zaokrąglany do najbliższej liczby całkowitej. Wywołanie GoogleMap.moveCamera() spowoduje wyświetlenie innego obrazu mapy w trybie Lite. Więcej informacji o ustawianiu kamery i jej obsłudze znajdziesz w artykule Zmienianie widoku.

Wywołanie funkcji GoogleMap.animateCamera() nie spowoduje animacji ruchu kamery. Widok z kamery natychmiast przesunie się do nowej pozycji.

Mapowanie zdarzeń
Czy jest obsługiwane? Częściowo

Tryb uproszczony obsługuje:GoogleMap.setOnMapClickListener()GoogleMap.setOnMapLongClickListener().

Aby wyłączyć zdarzenia kliknięcia na mapie w trybie uproszczonym, możesz wywołać funkcję setClickable() w widoku zawierającym element MapView lub MapFragment. Jest to przydatne na przykład podczas wyświetlania mapy lub map w widoku listy, gdy chcesz, aby zdarzenie kliknięcia wywołało działanie niezwiązane z mapą.

Szczegółowe informacje znajdziesz w dokumentacji zdarzeń.

Mapy i budynki wewnętrzne
Czy jest obsługiwane? Nie
Tryb Lite wyświetla te same kafelki co interfejs Maps Static API. Oznacza to, że jeśli plan piętra jest wbudowany w domyślną kartę, będzie on widoczny. W przeciwnym razie nie będzie działać. Nie możesz też zmienić wyświetlanego poziomu ani manipulować selektorem poziomu.
Warstwa natężenia ruchu
Czy jest obsługiwane? Nie
GoogleMap.setTrafficEnabled() nie jest obsługiwany w trybie uproszczonym.
Nakładki na teren
Czy jest obsługiwane? Nie
Tryb GoogleMap.addGroundOverlay() nie jest obsługiwany w trybie lite.
Nakładki z kafelkami
Czy jest obsługiwane? Nie
Tryb GoogleMap.addTileOverlay() nie jest obsługiwany w trybie lite.
Gesty
Czy jest obsługiwane? Nie
Tryb uproszczony nie obsługuje gestów. Włączanie i wyłączanie gestów nie będzie miało żadnego wpływu.
Street View
Czy jest obsługiwane? Nie
Street View nie jest obsługiwane w trybie uproszczonym.