Uaktualniony mechanizm renderowania map jest dostępny od wersji 18.2.0 pakietu SDK Maps na Androida. Ten procesor wprowadza wiele ulepszeń, w tym obsługę stylów map opartych na usłudze Cloud.
Nowy procesor oferuje te korzyści:
- Funkcje definiowania stylów map w Google Cloud są dostępne w nowym mechanizmie renderowania.
- Zaawansowane dostosowywanie łańcuchów wygładzonych linii jest dostępne w nowym mechanizmie renderowania.
- Zmniejszenie obciążenia sieci, wymagań przetwarzania i zużycia 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 czytelnie umieszczone etykiety mapy;
- stabilniejsza i lepsza obsługa użytkowników;
Stan automatycznej aktualizacji
W marcu 2024 r. Google zaczęło automatycznie aktualizować wszystkie wdrożone aplikacje, aby używały uaktualnionego 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 zostały zastosowane w przypadku:
Aplikacje, które zostały już zaktualizowane, aby używać ulepszonego renderera.
Aplikacje, które zostały wyłączone z uaktualnienia.
Aplikacje działające na urządzeniach, które nie spełniają minimalnych wymagań.
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
- Użyj 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 renderera
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 zaimportować MapsInitializer i MapsInitializer.Renderer.
Zaktualizuj kod, aby wywołać funkcję
MapsInitializer.initialize()
, przekazując parametrRenderer.LEGACY
, aby zrezygnować z nowego mechanizmu renderowania i użyć starszego.Aby określić, która wersja renderowania została zwrócona, użyj metody OnMapsSdkInitializedCallback.
Twój kod musi wywołać funkcję MapsInitializer.initialize()
przed utworzeniem widoku mapy MapView, fragmentu mapy MapFragment lub fragmentu mapy obsługi SupportMapFragment. Zalecamy wywołanie tej funkcji w onCreate
w aplikacji lub aktywności przed ustawieniem widoku treści.
Ten przykład pokazuje, jak wywołać funkcję MapsInitializer.initialize()
, aby zrezygnować z używania starszego modułu renderowania map.
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; } } }