Wersja uproszczona

Maps SDK na Androida może wyświetlać mapę w postaci obrazu bitmapowego, zapewniając użytkownikowi ograniczoną interaktywność. Jest to mapa w wersji uproszczonej.

Przykładowe fragmenty kodu

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

Omówienie wersji uproszczonej

Mapa w wersji uproszczonej to obraz bitmapowy mapy w określonej lokalizacji i poziomie powiększenia. Wersja uproszczona obsługuje wszystkie typy map (normalna, hybrydowa, satelitarna, terenowa) oraz podzbiór funkcji udostępnianych przez pełny interfejs API. Wersja uproszczona jest przydatna, gdy chcesz wyświetlić kilka map w strumieniu lub mapę, która jest zbyt mała, aby umożliwić znaczącą 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 wysyłanie próśb o wyznaczenie trasy.

Dodawanie mapy w wersji uproszczonej

Wersja uproszczona korzysta z tych samych klas i interfejsów co pełny interfejs Google Maps Android API. Tryb uproszczony możesz ustawić w GoogleMap na te następujące sposoby:

  • jako atrybut XML w przypadku MapView lub MapFragment
  • w obiekcie GoogleMapOptions

Jako atrybut XML w przypadku 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);

      

Więcej informacji o ustawianiu stanu początkowego mapy znajdziesz w przewodniku po obiekcie mapy.

Intencje uruchamiania widoku mapy lub żądania wyznaczenia trasy

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

Domyślnie, gdy użytkownik kliknie mapę, interfejs API uruchamia mobilną aplikację Mapy Google. Możesz to zmienić, używając GoogleMap.setOnMapClickListener() do ustawienia własnego odbiornika. Możesz też wyłączyć zdarzenia kliknięcia na mapie, wywołując setClickable() w widoku, który zawiera MapView lub MapFragment. Szczegółowe informacje o tych 2 metodach znajdziesz w dokumentacji zdarzeń.

Zdarzenia cyklu życia

Gdy używasz 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().

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

  • Obowiązkowe jest wywołanie onCreate(), w przeciwnym razie mapa się nie pojawi.
  • Jeśli chcesz wyświetlić kropkę Moja lokalizacja na mapie w wersji uproszczonej i używać domyślnego źródła lokalizacji, musisz wywołać onResume() i onPause(), ponieważ źródło lokalizacji będzie się aktualizować 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 działanie mapy w wersji uproszczonej w poszczególnych obszarach funkcjonalności interfejsu API. Jeśli aplikacja wywoła metodę, która nie jest obsługiwana w wersji uproszczonej, interfejs API zarejestruje ostrzeżenie.

Funkcje
Typy map
Obsługiwane? Tak
Te następujące typy map są dostępne za pomocą GoogleMapOptions.mapType() i GoogleMap.setMapType(): 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 wersji uproszczonej dotyczące kształtów są zgodne z pełnym interfejsem API.
Odwzorowanie
Obsługiwane? Tak
Funkcje wersji uproszczonej dotyczące odwzorowania są zgodne z pełnym interfejsem API.
Moja lokalizacja
Obsługiwane? Tak
Funkcje wersji uproszczonej dotyczące warstwy Moja lokalizacja są zgodne z pełnym interfejsem API.
Dopełnienie mapy
Obsługiwane? Tak
Okna informacyjne
Obsługiwane? Tak
Jeśli ustawisz title() znacznika, domyślne okno informacyjne pojawi się, gdy użytkownik kliknie znacznik. Możesz programowo wyświetlić okno informacyjne 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
Maps SDK na Androida obsługuje niestandardowe style mapy podstawowej. Wersja uproszczona obsługuje tylko niestandardowe style oparte na JSON, a nie style oparte na chmurze, które wymagają identyfikatora mapy do renderowania mapy ze 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 przeciągalnego. Znaczniki na mapie w wersji uproszczonej są płaskie i nie można ich obracać.
Położenie 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 i manipulowaniu kamerą znajdziesz w artykule Zmienianie widoku.

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

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, który zawiera MapView lub MapFragment. Jest to przydatne np. podczas wyświetlania mapy lub map w widoku listy, gdy chcesz, aby zdarzenie kliknięcia wywoływało działanie niezwiązane z mapą.

Więcej informacji znajdziesz w dokumentacji zdarzeń.

Mapy obiektów i budynki
Obsługiwane? Nie
Wersja uproszczona będzie wyświetlać te same kafelki co interfejs Maps Static API. Oznacza to, że jeśli plan piętra obiektu jest wbudowany w domyślny kafelek, będzie widoczny. W przeciwnym razie nie będzie. Nie możesz też zmienić wyświetlanego poziomu ani manipulować selektorem poziomów.
Warstwa natężenia ruchu
Obsługiwane? Nie
GoogleMap.setTrafficEnabled() nie jest obsługiwane w wersji uproszczonej.
Nakładki na ziemię
Obsługiwane? Nie
GoogleMap.addGroundOverlay() nie jest obsługiwane w wersji uproszczonej.
Nakładki z kafelkami
Obsługiwane? Nie
GoogleMap.addTileOverlay() nie jest obsługiwane 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ługiwane w wersji uproszczonej.