Pakiet Maps SDK na Androida może wyświetlać obraz bitmapy mapy, co zapewnia użytkownikowi ograniczoną interaktywność. Jest to tzw. mapa w wersji uproszczonej.
Przykładowe fragmenty kodu
Repozytorium AIDemos na GitHubie zawiera przykłady użycia wersji uproszczonej:
- LiteDemoActivity – Java: podstawy korzystania z mapy wersji uproszczonej w Javie.
- LiteDemoActivity – Kotlin: podstawy korzystania z mapy wersji uproszczonej w Kotlin.
- LiteListDemoActivity – Java: efektywne wyświetlanie map w obiektach ListView w wersji uproszczonej w Javie.
- LiteListDemoActivity – Kotlin: efektywne wyświetlanie map w obiektach ListView w wersji uproszczonej w Kotlin.
Omówienie wersji uproszczonej
Mapa w wersji uproszczonej to obraz bitmapowy mapy w określonej lokalizacji i powiększeniu. Wersja uproszczona obsługuje wszystkie typy map (normalne, hybrydowe, satelitarne, terenowe) oraz podzbiór funkcji dostępnych w pełnej wersji interfejsu API. Wersja uproszczona przydaje się, gdy chcesz udostępnić w strumieniu wiele map lub mapę, która jest zbyt mała, aby obsługiwać sensowną interakcję.
Użytkownicy oglądający mapę nie mogą powiększać ani przesuwać mapy. Ikony na mapie umożliwiają użytkownikom przeglądanie mapy w aplikacji mobilnej Mapy Google i wysyłanie zapytań o wskazówki dojazdu.
Dodawanie mapy w wersji uproszczonej
Wersja uproszczona wykorzystuje te same klasy i interfejsy co pełny interfejs API Map Google na Androida. Aby skonfigurować GoogleMap
w wersji uproszczonej:
- Jako atrybut XML dla
MapView
lubMapFragment
- Lub w obiekcie
GoogleMapOptions
Jako atrybut XML dla 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 po obiektie mapy.
Intencje uruchomienia widoku mapy lub żądania wskazówek dojazdu
Domyślnie pasek narzędzi w prawym dolnym rogu mapy zawiera ikony umożliwiające dostęp do widoku mapy lub zapytań o wskazówki dojazdu w aplikacji mobilnej Mapy Google. Pasek narzędzi możesz wyłączyć, dzwoniąc pod numer UiSettings.setMapToolbarEnabled(false)
. Więcej informacji znajdziesz w dokumentacji paska narzędzi.
Domyślnie, gdy użytkownik kliknie mapę, interfejs API uruchomi aplikację mobilną Mapy Google. Możesz zastąpić to ustawienie, używając GoogleMap.setOnMapClickListener()
, aby ustawić własny detektor. Możesz też wyłączyć zdarzenia kliknięcia na mapie, wywołując setClickable()
w widoku zawierającym MapView
lub MapFragment
. Szczegółowe informacje o tych 2 metodach znajdziesz w dokumentacji zdarzeń.
Zdarzenia cyklu życia
Gdy korzystasz z interfejsu API w trybie w pełni interaktywnym, użytkownicy klasy MapView
muszą przekazywać wszystkie metody cyklu życia działania do odpowiednich metod w klasie MapView
. Przykłady metod związanych z cyklem życia: onCreate()
, onDestroy()
, onResume()
i onPause()
.
Gdy używasz klasy MapView
w trybie uproszczonej, zdarzenia cyklu życia przekazywania są opcjonalne, z wyjątkiem tych sytuacji:
- Musisz zadzwonić pod numer
onCreate()
. W przeciwnym razie mapa nie zostanie wyświetlona. - Jeśli chcesz wyświetlić kropkę Moja lokalizacja na mapie w wersji uproszczonej i użyć domyślnego źródła lokalizacji, musisz wywołać metody
onResume()
ionPause()
, ponieważ źródło lokalizacji będzie aktualizowane tylko między tymi wywołaniami. Jeśli używasz własnego źródła lokalizacji, nie musisz wywoływać tych metod.
Obsługiwane funkcje interfejsu API
W tabeli poniżej opisujemy zachowanie mapy w wersji uproszczonej w przypadku każdego obszaru funkcji interfejsu API. Jeśli aplikacja wywoła metodę, która nie jest obsługiwana w wersji uproszczonej, interfejs API zarejestruje komunikat ostrzegawczy.
Funkcje | |
---|---|
Typy map | Obsługiwane? Tak
W GoogleMapOptions.mapType() i GoogleMap.setMapType() dostępne są te typy map: MAP_TYPE_NORMAL , MAP_TYPE_SATELLITE , MAP_TYPE_TERRAIN , MAP_TYPE_HYBRID , MAP_TYPE_NONE |
Linie łamane, wielokąty, okręgi | Obsługiwane? Tak
W przypadku kształtów funkcje wersji uproszczonej są zgodne z pełną wersją interfejsu API. |
Odwzorowanie | Obsługiwane? Tak
Funkcja wersji uproszczonej w przypadku projekcji odpowiada pełnej wersji interfejsu API. |
Moja lokalizacja | Obsługiwane? Tak
Działanie wersji uproszczonej w warstwie Moja lokalizacja odpowiada pełnej wersji interfejsu API. |
Dopełnienie mapy | Obsługiwane? Tak
Obsługa dopełnienia mapy w wersji uproszczonej odpowiada pełnej wersji interfejsu API. |
Okna informacyjne | Obsługiwane? Tak
Jeśli ustawisz właściwość title() znacznika, po kliknięciu znacznika przez użytkownika pojawi się domyślne okno informacyjne. Możesz automatycznie wyświetlić okno informacyjne, wywołując metodę showInfoWindow() w znaczniku.
Niestandardowe okna informacyjne możesz też tworzyć za pomocą interfejsu InfoWindowAdapter . |
Niestandardowe style mapy podstawowej | Obsługiwane? Częściowo
Pakiet SDK Map Google na Androida obsługuje niestandardowy styl mapy podstawowej. Wersja uproszczona obsługuje tylko style niestandardowe oparte na formacie JSON, a nie style oparte na chmurze, które do renderowania mapy z określonym stylem wymagają identyfikatora mapy. |
Znaczniki | Obsługiwane? Częściowo
Możesz dodać znacznik i odpowiedzieć na zdarzenie kliknięcia. Możesz też dodać niestandardowe ikony znaczników. Znacznika nie można przeciągać. Znaczniki na mapie w wersji uproszczonej są płaskie i nie można ich obracać. |
Pozycja, powiększenie i animacja kamery | Obsługiwane? Częściowo
Możesz ustawić cel kamery i powiększenie, ale nie pochylenie ani kąt widzenia.
W trybie Lite poziom powiększenia jest zaokrąglany do najbliższej liczby całkowitej.
Wywołanie Wywołanie |
Mapowanie zdarzeń | Obsługiwane? Częściowo
Wersja uproszczona obsługuje
Aby wyłączyć zdarzenia kliknięcia na mapie w wersji uproszczonej, możesz wywołać Więcej informacji znajdziesz w dokumentacji zdarzeń. |
Mapy obiektów i budynki | Obsługiwane? Nie
W wersji uproszczonej wyświetlają się te same kafelki co Map Static API.
Oznacza to, że jeśli plan piętra jest umieszczony w domyślnym kafelku, będzie się wyświetlać. W przeciwnym razie nie zadziała. Nie możesz też zmieniać wyświetlanego poziomu ani modyfikować selektora poziomów. |
Warstwa natężenia ruchu | Obsługiwane? Nie
Pole GoogleMap.setTrafficEnabled() nie jest obsługiwane w wersji uproszczonej. |
Nakładki na powierzchni | Obsługiwane? Nie
Pole GoogleMap.addGroundOverlay() nie jest obsługiwane w wersji uproszczonej. |
Nakładki z fragmentami mapy | Obsługiwane? Nie
Pole GoogleMap.addTileOverlay() nie jest obsługiwane w wersji uproszczonej. |
Gesty | Obsługiwane? Nie
Wersja uproszczona nie obsługuje gestów. Włączenie lub wyłączenie gestów nie przyniesie żadnego efektu. |
Street View | Obsługiwane? Nie
Street View nie jest dostępne w wersji uproszczonej. |