Wersja uproszczona

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

Maps SDK na Androida umożliwia wyświetlanie mapy bitowej mapy, co zapewnia użytkownikom ograniczoną interaktywność. Jest to tzw. mapa wersja uproszczona.

Przykładowe fragmenty kodu

Repozytorium ApiDemos w GitHubie zawiera przykłady, które pokazują użycie wersji uproszczonej:

Omówienie wersji uproszczonej

Mapa w trybie uproszczonym to bitmapa mapy z określoną lokalizacją i z powiększeniem. Wersja uproszczona obsługuje wszystkie typy map (normalne, hybrydowe, satelitarne i teren) oraz podzbiór funkcji dostępnych w pełnym API. Wersja uproszczona przydaje się, gdy chcesz udostępnić w strumieniu liczbę map lub mapę, która jest zbyt mała, by można było nawiązać znaczącą interakcję.

Użytkownicy wyświetlający mapę nie mogą jej powiększać ani przesuwać. Ikony na mapie pozwalają użytkownikom wyświetlać mapę w aplikacji mobilnej Mapy Google i prosić 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. W GoogleMap możesz ustawić wersję uproszczoną w ten sposób:

  • 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

Java


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

      

Kotlin


val options = GoogleMapOptions()
    .liteMode(true)

      

Szczegółowe informacje o tym, jak ustawić początkowy stan mapy, znajdziesz w przewodniku po obiektie mapy.

Intencje uruchomienia widoku mapy lub żądania trasy

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

Domyślnie, gdy użytkownik kliknie mapę, API uruchamia aplikację mobilną Mapy Google. Możesz zastąpić ten parametr za pomocą polecenia GoogleMap.setOnMapClickListener(), aby ustawić własny odbiornik. Możesz też wyłączyć zdarzenia kliknięcia na mapie, wywołując setClickable() w widoku zawierającym MapView lub MapFragment. Szczegółowe informacje na temat tych 2 metod znajdziesz w dokumentacji zdarzeń.

Zdarzenia cyklu życia

Gdy interfejs API jest używany w trybie w pełni interaktywnym, użytkownicy klasy MapView muszą przekazywać wszystkie metody cyklu życia aktywności na odpowiednie metody klasy MapView. Oto przykłady metod cyklu życia: onCreate(), onDestroy(), onResume() i onPause().

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

  • Wywołanie onCreate() jest obowiązkowe. W przeciwnym razie nie pojawi się żadna mapa.
  • Jeśli chcesz wyświetlić kropkę mojej lokalizacji na mapie w wersji uproszczonej i użyć domyślnego źródła, musisz wywołać metodę onResume() i onPause(), bo źródło lokalizacji jest aktualizowane tylko między tymi wywołaniami. Jeśli korzystasz ze swojego źródła danych o lokalizacji, nie musisz wywoływać tych 2 metod.

Obsługiwane funkcje interfejsu API

W tabeli poniżej opisujemy działanie mapy Lite 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
Dostępne w usługach GoogleMapOptions.mapType() i GoogleMap.setMapType() są te typy map: MAP_TYPE_NORMAL, MAP_TYPE_SATELLITE, MAP_TYPE_TERRAIN, MAP_TYPE_HYBRID, MAP_TYPE_NONE
Linie, wielokąty, okręgi
Obsługiwane? Tak
Funkcja w wersji uproszczonej kształtów pasuje do pełnego interfejsu API.
Odwzorowanie
Obsługiwane? Tak
Funkcja w wersji uproszczonej projektu Projekcja pasuje do pełnego interfejsu API.
Moja lokalizacja
Obsługiwane? Tak
Funkcja w wersji uproszczonej warstwy Moja lokalizacja jest zgodna z pełnym interfejsem API.
Dopełnienie mapy
Obsługiwane? Tak
Obsługa dopełniania mapy w wersji uproszczonej pasuje do pełnego interfejsu API.
Okna informacyjne
Obsługiwane? Tak
Jeśli ustawisz title() znacznika, wyświetli się domyślne okno informacyjne, gdy użytkownik kliknie znacznik. Okno informacyjne możesz wyświetlać automatycznie, wywołując showInfoWindow() na znaczniku. Niestandardowe okna informacyjne możesz też tworzyć w interfejsie InfoWindowAdapter.
Niestandardowe style mapy podstawowej
Obsługiwane? Częściowo
Maps SDK na Androida obsługuje niestandardowy styl mapy podstawowej. Wersja uproszczona obsługuje tylko style niestandardowe oparte na JSON, a nie style działające w chmurze. Do renderowania mapy stylowej potrzebny jest identyfikator mapy.
Znaczniki
Obsługiwane? Częściowo
Możesz dodać znacznik i odpowiedzieć na zdarzenie kliknięcia. Możesz też dodać niestandardowe ikony znaczników. Przeciągania znacznika nie można wykonać. 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ć kierowanie i powiększanie kamery, ale nie możesz przechylać ani przyciągać łożyska. 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 aparatu i zarządzaniu nim znajdziesz w artykule Zmienianie widoku.

Wywołanie GoogleMap.animateCamera() nie spowoduje animacji ruchu kamery. Widok z kamery zostanie natychmiast przeniesiony 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ć setClickable() w widoku zawierającym MapView lub MapFragment. Jest to przydatne np. podczas wyświetlania mapy lub map w widoku listy, w którym zdarzenie kliknięcia ma wywoływać działanie niezwiązane z mapą.

Szczegółowe informacje znajdziesz w dokumentacji zdarzeń.

Mapy i budynki budynków
Obsługiwane? Nie
Wersja uproszczona pokazuje te same kafelki co interfejs Maps Static API. To oznacza, że jeśli układ piętra jest zamontowany w domyślnym kafelku, pojawi się on. W przeciwnym razie nie. Nie możesz też zmieniać wyświetlanego poziomu ani wybierać selektora poziomu.
Warstwa natężenia ruchu
Obsługiwane? Nie
Wersja GoogleMap.setTrafficEnabled() nie jest obsługiwana w wersji uproszczonej.
Nakładki na powierzchni
Obsługiwane? Nie
GoogleMap.addGroundOverlay() nie jest obsługiwany w wersji uproszczonej.
Nakładki z fragmentami mapy
Obsługiwane? Nie
GoogleMap.addTileOverlay() nie jest obsługiwany 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 skutków.
Street View
Obsługiwane? Nie
Street View nie jest obsługiwane w wersji uproszczonej.