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:
- LiteDemoActivity (Java): podstawy korzystania z mapy w trybie uproszczonym w Javie
- LiteDemoActivity – Kotlin: podstawy korzystania z mapy w trybie uproszczonym w Kotlin
- LiteListDemoActivity – Java: efektywne wyświetlanie map w elementach ListView w trybie uproszczonym w języku Java
- LiteListDemoActivity – Kotlin: efektywne wyświetlanie map w widoku ListView w trybie uproszczonym w Kotlin
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
lubMapFragment
- 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()
ionPause()
, 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.
W wersji uproszczonej nie można też używać schematu kolorów mapy na potrzeby trybu ciemnego.
|
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 Wywołanie funkcji |
Mapowanie zdarzeń | Obsługiwane? Częściowo
Wersja uproszczona obsługuje
Aby wyłączyć zdarzenia kliknięć na mapie w wersji uproszczonej, możesz wywołać 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. |