Uaktualniony mechanizm renderowania map jest dostępny od wersji 18.2.0 Maps SDK na Androida. Ten mechanizm renderowania wprowadza wiele ulepszeń, w tym obsługę Definiowanie stylów map w Google Cloud.
Nowy mechanizm renderowania zapewnia te korzyści:
- Funkcje definiowania stylów map w Google Cloud są dostępne w nowym mechanizmie renderowania.
- Zaawansowane dostosowania linii łamanych są dostępne w nowym mechanizmie renderowania.
- Mniejsze obciążenie sieci, mniejsze zapotrzebowanie na przetwarzanie danych i wykorzystanie pamięci.
- Ulepszone obsługa gestów, która zapewnia lepsze animacje oraz płynniejsze przesuwanie i powiększanie.
- Bardziej płynne przejścia i wyraźnie umiejscowione etykiety mapy.
- Większa stabilność i lepsze wrażenia użytkownika.
Stan automatycznej aktualizacji
W marcu 2024 r. zaczęliśmy automatycznie aktualizować wszystkie wdrożone aplikacje, aby korzystały z na zaktualizowany mechanizm renderowania. Automatyczne aktualizacje zostały zastosowane we wszystkich aplikacjach działających na urządzeniach spełniających minimalne wymagania, niezależnie od wersji pakietu SDK Map Google na Androida używanego przez aplikację. Wdrożenie zostało już zakończone.
Automatyczne aktualizacje nie dotyczyły:
Aplikacje, które zostały już zaktualizowane, aby korzystały z uaktualnionego mechanizmu renderowania.
Aplikacje, które zostały wyłączone z uaktualnienia.
Aplikacje działające na urządzeniach, które nie spełniają minimalnego wymagania sprzętowego .
Obsługiwane urządzenia
Aby korzystać z uaktualnionego modułu renderowania map, urządzenia muszą spełniać te kryteria:
- Android 5.0 (poziom interfejsu API 21) lub nowszy
- Korzystanie z Usług Google Play w wersji 21.39.14 lub nowszej
Urządzenia z Androidem 4.4W (poziom interfejsu API 20) lub starszym albo z Usługami Google Play w wersji 21.39.13 lub starszej nadal korzystają ze starszego modułu renderującego.
Rezygnacja z używania uaktualnionego mechanizmu renderowania
W razie potrzeby możesz odrzucić użycie uaktualnionego silnika i użyć starszego silnika w swojej aplikacji.
Aby to zrobić:
Zaktualizuj pakiet SDK Maps na Androida do wersji 18.0 lub nowszej.
Zaktualizuj kod, aby jawnie zaimportować obiekt MapsInitializer. oraz MapsInitializer.Renderer.
Aby zadzwonić, zaktualizuj kod
MapsInitializer.initialize()
, przekazanieRenderer.LEGACY
, aby zrezygnować i używać starszego mechanizmu renderowania.Użyj funkcji OnMapsSdkInitializedCallback aby ustalić, która wersja mechanizmu renderowania została zwrócona.
Twój kod musi zadzwonić
MapsInitializer.initialize()
przed
MapView,
MapFragment,
lub
SupportMapFragment
Utworzono. Zalecamy wywołanie tej funkcji w onCreate
w aplikacji lub aktywności przed ustawieniem widoku treści.
Ten przykład pokazuje, jak zadzwonić pod numer MapsInitializer.initialize()
do
zrezygnować ze starszej wersji mechanizmu renderowania mapy.
Kotlin
import com.google.android.gms.maps.MapsInitializer import com.google.android.gms.maps.MapsInitializer.Renderer import com.google.android.gms.maps.OnMapsSdkInitializedCallback internal class MapRendererOptInApplication : Application(), OnMapsSdkInitializedCallback { override fun onCreate() { super.onCreate() MapsInitializer.initialize(applicationContext, Renderer.LEGACY, this) } override fun onMapsSdkInitialized(renderer: MapsInitializer.Renderer) { when (renderer) { Renderer.LATEST -> Log.d("MapsDemo", "The latest version of the renderer is used.") Renderer.LEGACY -> Log.d("MapsDemo", "The legacy version of the renderer is used.") } } }
Java
import com.google.android.gms.maps.MapsInitializer; import com.google.android.gms.maps.MapsInitializer.Renderer; import com.google.android.gms.maps.OnMapsSdkInitializedCallback; class MapRendererOptInApplication extends Application implements OnMapsSdkInitializedCallback { @Override public void onCreate() { super.onCreate(); MapsInitializer.initialize(getApplicationContext(), Renderer.LEGACY, this); } @Override public void onMapsSdkInitialized(MapsInitializer.Renderer renderer) { switch (renderer) { case LATEST: Log.d("MapsDemo", "The latest version of the renderer is used."); break; case LEGACY: Log.d("MapsDemo", "The legacy version of the renderer is used."); break; } } }