Wersja uproszczona

Pakiet Maps SDK na Androida może wyświetlać mapę w formie obrazu bitmapowego, co zapewnia użytkownikowi ograniczoną interaktywność. Jest to tzw. mapa w wersji uproszczonej.

Przykładowe fragmenty kodu

Repozytorium ApiDemos na GitHubie zawiera przykłady pokazujące, jak korzystać z wersji uproszczonej:

Omówienie wersji uproszczonej

Mapa w wersji uproszczonej to obraz mapy w formacie bitmapy w określonej lokalizacji i na określonym poziomie powiększenia. Wersja uproszczona obsługuje wszystkie typy map (normalną, hybrydową, satelitarną, terenową) i podzbiór funkcji dostępnych w pełnym interfejsie API. Wersja uproszczona jest przydatna, gdy chcesz udostępnić kilka map w strumieniu lub mapę, która jest zbyt mała, aby umożliwić sensowną interakcję.

Użytkownicy wyświetlający mapę nie mogą jej powiększać ani przesuwać. Ikony na mapie umożliwiają użytkownikom wyświetlanie mapy w aplikacji mobilnej Mapy Google i uzyskiwanie wskazówek dojazdu.

Dodawanie mapy w wersji uproszczonej

Wersja uproszczona używa tych samych klas i interfejsów co pełna wersja Google Maps Android API. Możesz ustawić GoogleMap w wersji uproszczonej na te sposoby:

  • jako atrybut XML dla MapView lub MapFragment,
  • 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 stanu początkowego mapy znajdziesz w przewodniku po obiekcie mapy.

Intencje uruchamiania widoku mapy lub żądania wskazówek dojazdu

Domyślnie pasek narzędzi w prawym dolnym rogu mapy zawiera ikony, które zapewniają dostęp do widoku mapy lub prośby o wskazówki dojazdu w aplikacji mobilnej Mapy Google. Możesz wyłączyć pasek narzędzi, wywołując funkcję UiSettings.setMapToolbarEnabled(false). Więcej informacji znajdziesz w dokumentacji paska narzędzi.

Domyślnie, gdy użytkownik kliknie mapę, interfejs API uruchamia aplikację mobilną Mapy Google. Możesz to zmienić, używając GoogleMap.setOnMapClickListener(), aby ustawić własny detektor. Możesz też wyłączyć zdarzenia kliknięcia na mapie, wywołując metodę setClickable() w widoku zawierającym obiekt MapView lub MapFragment. Szczegółowe informacje o tych 2 technikach znajdziesz w dokumentacji zdarzeń.

Zdarzenia cyklu życia

Podczas korzystania z interfejsu API w trybie w pełni 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() i onPause().

Jeśli używasz klasy MapView w wersji uproszczonej, przekazywanie zdarzeń cyklu życia jest opcjonalne, z wyjątkiem tych sytuacji:

  • Wywołanie metody onCreate() jest obowiązkowe, w przeciwnym razie mapa się nie pojawi.
  • Jeśli chcesz wyświetlać kropkę Moja lokalizacja na mapie w trybie uproszczonym i używać domyślnego źródła lokalizacji, musisz wywołać metody onResume() i onPause(), 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 2 metod.

Obsługiwane funkcje interfejsu API

W tabeli poniżej opisano zachowanie mapy w wersji uproszczonej w przypadku poszczególnych obszarów 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
Funkcje kształtów w wersji uproszczonej są takie same jak w pełnym interfejsie API.
Odwzorowanie
Obsługiwane? Tak
Funkcje wersji uproszczonej dla projekcji są takie same jak w pełnym interfejsie API.
Moja lokalizacja
Obsługiwane? Tak
Funkcje wersji uproszczonej warstwy Moja lokalizacja są takie same jak w pełnym interfejsie API.
Dopełnienie mapy
Obsługiwane? Tak
Obsługa dopełnienia mapy w wersji uproszczonej jest taka sama jak w pełnym interfejsie API.
Okna informacyjne
Obsługiwane? Tak
Jeśli ustawisz title() znacznika, po kliknięciu znacznika przez użytkownika pojawi się domyślne okno informacyjne. Okno informacyjne możesz wyświetlić automatycznie, wywołując showInfoWindow() na znaczniku. Możesz też tworzyć niestandardowe okna informacyjne za pomocą interfejsu InfoWindowAdapter.
Niestandardowe style mapy podstawowej
Obsługiwane? Częściowo
Pakiet Maps SDK na Androida obsługuje niestandardowe style mapy podstawowej. Wersja uproszczona obsługuje tylko niestandardowe style oparte na formacie JSON, a nie style działające w chmurze, które wymagają identyfikatora mapy do renderowania mapy z własnym stylem. Wersja uproszczona nie obsługuje też ustawiania schematu kolorów mapy na tryb ciemny.
Znaczniki
Obsługiwane? Częściowo
Możesz dodać znacznik i reagować na zdarzenie kliknięcia. Możesz też dodawać niestandardowe ikony znaczników. Nie można ustawić znacznika jako możliwego do przeciągnięcia. Znaczniki na mapie w wersji uproszczonej są płaskie i nie można ich obracać.
Pozycja kamery, powiększenie i animacja
Obsługiwane? Częściowo

Możesz ustawić cel i powiększenie kamery, ale nie jej nachylenie ani kierunek. W wersji uproszczonej poziom powiększenia jest zaokrąglany do najbliższej liczby całkowitej. Wywołanie GoogleMap.moveCamera() spowoduje wyświetlenie kolejnego obrazu mapy w wersji uproszczonej. Więcej informacji o ustawianiu kamery i manipulowaniu nią znajdziesz w artykule Zmiana widoku.

Wywołanie metody GoogleMap.animateCamera() nie spowoduje animacji ruchu kamery. Widok z kamery natychmiast przesunie się na nową pozycję.

Mapowanie zdarzeń
Obsługiwane? Częściowo

Wersja uproszczona obsługuje GoogleMap.setOnMapClickListener() i GoogleMap.setOnMapLongClickListener().

Aby wyłączyć zdarzenia kliknięcia na mapie w wersji uproszczonej, możesz wywołać metodę setClickable() w widoku zawierającym 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ływało działanie niezwiązane z mapą.

Szczegółowe informacje znajdziesz w dokumentacji zdarzeń.

Mapy obiektów i budynki
Obsługiwane? Nie
Wersja uproszczona będzie wyświetlać te same kafelki co Maps Static API. Oznacza to, że jeśli plan piętra jest wbudowany w domyślny kafelek, zostanie on wyświetlony. W przeciwnym razie nie będzie to możliwe. Nie możesz też zmienić wyświetlanego poziomu ani użyć selektora poziomu.
Warstwa natężenia ruchu
Obsługiwane? Nie
Funkcja GoogleMap.setTrafficEnabled() nie jest obsługiwana w wersji uproszczonej.
Nakładki na grunt
Obsługiwane? Nie
Funkcja GoogleMap.addGroundOverlay() nie jest obsługiwana w wersji uproszczonej.
Nakładki z fragmentami mapy
Obsługiwane? Nie
Funkcja GoogleMap.addTileOverlay() nie jest obsługiwana w wersji uproszczonej.
Gesty
Obsługiwane? Nie
Wersja uproszczona nie obsługuje gestów. Włączanie i wyłączanie gestów nie będzie miało żadnego efektu.
Street View
Obsługiwane? Nie
Street View nie jest obsługiwany w wersji uproszczonej.