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:
- Definiowanie stylów map w Google Cloud funkcje są dostępne w nowym mechanizmie renderowania.
- Zaawansowane dostosowywanie linii łamanych są dostępne w nowym mechanizmie renderowania.
- Mniejsze obciążenie sieci, mniejsze zapotrzebowanie na przetwarzanie danych i wykorzystanie pamięci.
- Ulepszona obsługa gestów dla lepszych animacji, płynniejsze przesuwanie i powiększania.
- 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 do wszystkich uruchomionych aplikacji na urządzeniach spełniających minimalne wymagania dotyczące urządzeń; niezależnie od używanej wersji pakietu Maps SDK na Androida. To wdrożenie zakończono.
Automatyczne aktualizacje nie dotyczyły:
Aplikacje, które zostały już zaktualizowane, aby korzystały z uaktualnionego mechanizmu renderowania.
Aplikacje, które wyraźnie zrezygnowały z uaktualnienia.
Aplikacje działające na urządzeniach, które nie spełniają minimalnego wymagania sprzętowego .
Obsługiwane urządzenia
Aby można było korzystać z uaktualnionego mechanizmu renderowania mapy, 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.4 W (poziom interfejsu API 20) lub starszym lub korzystających z Google Play usługi w wersji 21.39.13 lub starszej nadal używają starszego mechanizmu renderowania.
Rezygnacja z używania uaktualnionego mechanizmu renderowania
W razie potrzeby możesz wyraźnie zrezygnować z używania uaktualnionego mechanizmu renderowania, by używać do starszych mechanizmów renderowania w Twojej aplikacji.
Aby to zrobić:
Uaktualnij pakiet SDK Maps na Androida do w 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. Warto zadzwonić pod ten numer w onCreate
w przypadku
Aplikacja,
lub
Aktywność,
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; } } }