Wersja uproszczona

Pakiet Maps SDK na Androida może wyświetlać bitmapę mapy, umożliwiając użytkownikom ograniczoną interaktywność. Jest to tzw. mapa w trybie uproszczonym.

Przykładowe fragmenty kodu

Repozytorium API Apigee na GitHubie zawiera przykłady, które pokazują, jak korzystać z trybu uproszczonego:

Omówienie wersji uproszczonej

Mapa w wersji uproszczonej to obraz bitmapowy przedstawiający określoną lokalizację z określonym poziomem powiększenia. Wersja uproszczona obsługuje wszystkie typy map (normalne, hybrydowe, satelitarne, terenowe) oraz część funkcji zapewnianych przez pełny interfejs API. Wersja uproszczona jest przydatna, gdy w strumieniu chcesz umieścić wiele map lub mapę, która jest zbyt mała, by obsłużyć interaktywną interakcję.

Użytkownicy przeglądają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 wyszukiwanie wskazówek 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 ustawić na urządzeniu GoogleMap tryb uproszczony:

  • Jako atrybut XML dla MapView lub MapFragment
  • Lub w obiekcie GoogleMapOptions

Jako atrybut XML dla atrybutu 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 obiekcie mapy.

zamiary uruchomienia widoku mapy lub żądania wskazówek dojazdu,

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

Również domyślnie, gdy użytkownik kliknie mapę, interfejs API uruchamia aplikację mobilną Mapy Google. Możesz zmienić to ustawienie, używając GoogleMap.setOnMapClickListener(), aby ustawić własny detektor. Możesz też wyłączyć zdarzenia kliknięć 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

Jeśli 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 z klasy MapView. Przykłady metod związanych z cyklem życia to onCreate(), onDestroy(), onResume() i onPause().

Gdy używasz klasy MapView w trybie uproszczonym, przekazywanie zdarzeń cyklu życia jest opcjonalne. Wyjątkiem są te sytuacje:

  • Musisz zadzwonić pod numer onCreate(). W przeciwnym razie nie wyświetli się żadna mapa.
  • Jeśli chcesz wyświetlić kropkę Moja lokalizacja na mapie w trybie uproszczonego i użyć domyślnego źródła lokalizacji, musisz wywołać onResume() i onPause(), ponieważ źródło lokalizacji jest aktualizowane 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 poniższej tabeli opisano działanie mapy w trybie uproszczonym 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.

Funkcjonalność
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
Funkcje w trybie uproszczonym w przypadku kształtów są zgodne z pełnym interfejsem API.
Odwzorowanie
Obsługiwane? Tak
Funkcjonalność wersji uproszczonej Projekcji jest zgodna z pełnym interfejsem API.
Moja lokalizacja
Obsługiwane? Tak
Funkcja trybu uproszczonego w warstwie Moja lokalizacja jest zgodna z działaniem pełnego interfejsu API.
Dopełnienie mapy
Obsługiwane? Tak
Obsługa dopełnienia mapy w trybie uproszczonym jest zgodna z pełnym interfejsem 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 wyświetlić okno informacyjne automatycznie, wywołując funkcję showInfoWindow() na znaczniku. Niestandardowe okna informacyjne możesz też tworzyć za pomocą interfejsu InfoWindowAdapter.
Niestandardowe style mapy podstawowej
Obsługiwane? Częściowo
Pakiet Maps SDK na Androida obsługuje styl niestandardowy mapy podstawowej. Tryb uproszczony obsługuje tylko styl niestandardowy oparty na formacie JSON, a nie styl oparty na chmurze, który wymaga identyfikatora mapy, aby renderować mapę z określonym stylem.
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 trybie uproszczonego 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, ale nie pochylenie i położenie. W wersji uproszczonej poziom powiększenia jest zaokrąglany do najbliższej liczby całkowitej. Gdy zadzwonisz pod numer GoogleMap.moveCamera(), zobaczysz kolejny obraz mapy w trybie uproszczonym. Więcej informacji o ustawianiu i manipulowaniu aparatem znajdziesz w artykule Zmienianie widoku.

Wywołanie funkcji GoogleMap.animateCamera() nie spowoduje animacji ruchu kamery. Widok z kamery przesunie się od razu do nowej pozycji.

Mapowanie zdarzeń
Obsługiwane? Częściowo

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

Aby wyłączyć zdarzenia kliknięć na mapie w wersji uproszczonej, możesz wywołać setClickable() w widoku, który zawiera MapView lub MapFragment. Jest to przydatne na przykład wtedy, gdy mapa lub mapy są wyświetlane w widoku listy, gdy chcesz, aby zdarzenie kliknięcia wywołało działanie niezwiązane z mapą.

Szczegółowe informacje znajdziesz w dokumentacji zdarzeń.

Mapy obiektów i budynki
Obsługiwane? Nie
W wersji uproszczonej wyświetlają się te same kafelki co Statyczny interfejs API Map Google. Oznacza to, że jeśli plan piętra jest wypalony na domyślnym kafelku, pojawi się on. W przeciwnym razie nie zadziała. Nie możesz też zmienić wyświetlanego poziomu ani korzystać z selektora poziomów.
Warstwa natężenia ruchu
Obsługiwane? Nie
Usługa GoogleMap.setTrafficEnabled() nie jest obsługiwana w wersji uproszczonej.
Nakładki na powierzchni
Obsługiwane? Nie
Usługa GoogleMap.addGroundOverlay() nie jest obsługiwana w wersji uproszczonej.
Nakładki z kafelkami
Obsługiwane? Nie
Usługa GoogleMap.addTileOverlay() nie jest obsługiwana w wersji uproszczonej.
Gesty
Obsługiwane? Nie
Wersja uproszczona nie obsługuje gestów. Włączenie lub wyłączenie gestów nie będzie miało żadnego efektu.
Street View
Obsługiwane? Nie
Street View nie jest obsługiwane w trybie uproszczonym.