Wersja uproszczona

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:

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 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 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() 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 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 GoogleMap.moveCamera() zapewni Ci kolejny obraz mapy w wersji uproszczonej. Więcej informacji o ustawianiu kamery i zarządzaniu kamerą znajdziesz w artykule Zmienianie widoku.

Wywołanie GoogleMap.animateCamera() nie spowoduje animacji ruchu kamery. Widok kamery natychmiast przesunie się w nowe miejsce.

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ć setClickable() w widoku danych, który zawiera MapView lub MapFragment. Jest to przydatne na przykład, gdy wyświetlasz mapę lub mapy w widoku listy, gdzie chcesz, aby zdarzenie kliknięcia wywołało działanie niezwiązane z mapą.

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.