Wersja uproszczona

Pakiet SDK Map Google na Androida może wyświetlać obraz mapy bitowej mapy, co zapewnia użytkownikowi ograniczoną możliwość interakcji. Jest to tzw. mapa w wersji uproszczonej.

Przykładowe fragmenty kodu

Repozytorium API Demos w GitHubie zawiera przykłady, które pokazują użycie 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 (normalne, hybrydowe, satelitarne, terenowe) oraz podzbiór funkcji zapewnianych w ramach pełnego interfejsu API. Wersja uproszczona przydaje się, gdy chcesz przesłać wiele map w strumieniu lub mapy, które są zbyt małe, aby umożliwić konstruktywną 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 zapytań o wskazówki dojazdu.

Dodawanie mapy w wersji uproszczonej

Wersja uproszczona korzysta z tych samych klas i interfejsów co pełny interfejs API Map Google na Androida. Aby przełączyć urządzenie GoogleMap na wersję uproszczoną:

  • 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);

      

Informacje o ustawianiu początkowego stanu mapy znajdziesz w przewodniku po obiekcie mapy.

Zamiar 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 próśb 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.

Poza tym, gdy użytkownik domyślnie kliknie mapę, interfejs API uruchamia aplikację mobilną Mapy Google. Możesz to zmienić, ustawiając własny detektor przy użyciu polecenia GoogleMap.setOnMapClickListener(). Możesz też wyłączyć zdarzenia kliknięcia na mapie, wywołując metodę 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 związanych z cyklem życia: onCreate(), onDestroy(), onResume() i onPause().

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

  • Musisz zadzwonić pod numer onCreate(). W przeciwnym razie mapa nie wyświetli się.
  • 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ć metodę onResume() i onPause(), ponieważ źródło lokalizacji zostanie zaktualizowane tylko między tymi połączeniami. 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 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 z ostrzeżeniem.

Funkcje
Typy map
Obsługiwane? Tak
W usługach 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
W przypadku projekcji funkcje wersji uproszczonej są takie same jak w pełnej wersji interfejsu API.
Moja lokalizacja
Obsługiwane? Tak
Działanie wersji uproszczonej warstwy Moja lokalizacja odpowiada pełnej wersji interfejsu API.
Dopełnienie mapy
Obsługiwane? Tak
Obsługa dopełnienia mapy w wersji uproszczonej jest zgodna z pełnym interfejsem API.
Okna informacyjne
Obsługiwane? Tak
Jeśli ustawisz właściwość title() znacznika, po jego kliknięciu przez użytkownika wyświetli się domyślne okno informacyjne. Okno informacyjne możesz wyświetlić automatycznie, wywołując w znaczniku showInfoWindow(). 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 niestandardowe style mapy podstawowej. Wersja uproszczona obsługuje 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 i powiększenie kamery, ale nie jej pochylenie ani kierunek. W trybie uproszczonym poziom powiększenia jest zaokrąglany do najbliższej liczby całkowitej. Jeśli zadzwonisz pod numer GoogleMap.moveCamera(), uzyskasz kolejny obraz mapy w wersji uproszczonej. Więcej informacji o ustawianiu kamery i manipulowaniu nią 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 zawierającym MapView lub MapFragment. Jest to przydatne na przykład przy wyświetlaniu mapy lub map w widoku listy, gdy zdarzenie kliknięcia ma wywoływać działanie niezwiązane z mapą.

Szczegółowe informacje znajdziesz w dokumentacji zdarzeń.

Mapy i budynki obiektów
Obsługiwane? Nie
W wersji uproszczonej wyświetlają się te same kafelki co Map Static API. Oznacza to, że jeśli plan piętra we wnętrzu jest zapisany w domyślnym kafelku, będzie widoczny. W przeciwnym razie nie. Nie możesz też zmieniać wyświetlanego poziomu ani korzystać z selektora poziomów.
Warstwa natężenia ruchu
Obsługiwane? Nie
GoogleMap.setTrafficEnabled() nie jest obsługiwany w wersji uproszczonej.
Obrazy 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 żadnego efektu.
Street View
Obsługiwane? Nie
Street View nie jest obsługiwane w wersji uproszczonej.