Uaktualniony mechanizm renderowania mapy jest dostępny od wersji 18.0.0 pakietu SDK Map na Androida. Ten mechanizm renderowania ma wiele ulepszeń, w tym obsługę stylu map w chmurze. Możesz wypróbować nowy mechanizm renderowania, zanim stanie się domyślnym mechanizmem renderowania na urządzeniach z Androidem. Funkcja ta będzie wdrażana progresywnie od czerwca 2022 roku.
Nowy mechanizm renderowania ma następujące zalety:
- Styl stylu mapy w chmurze jest dostępny z nowym mechanizmem renderowania.
- Zaawansowane dostosowania linii łamanych są dostępne z nowym mechanizmem renderowania.
- Mniejsze obciążenie sieci, przetwarzanie żądań i zużycie pamięci.
- Ulepszona obsługa gestów w celu uzyskania lepszych animacji, a także płynniejszego przesuwania i powiększenia.
- Większa płynność przejść i dobrze widoczne etykiety na mapach.
- Większa stabilność i lepsze działanie strony.
Obsługiwane urządzenia
Aby można było korzystać z nowego mechanizmu renderowania, urządzenia muszą spełniać te kryteria:
- Android 5.0 (poziom interfejsu API 21) lub nowszy
- Co najmniej 2 GB miejsca na dane
- przy użyciu Usług Google Play w wersji 21.39.14 lub nowszej.
Urządzenia z Androidem 4.4 W (poziom interfejsu API 20) i starszym albo z mniejszym niż 2 GB miejsca na dane albo z Usługami Google Play w wersji 21.39.13 lub starszej będą nadal korzystać ze starszego mechanizmu renderowania.
Jak wypróbować nowy mechanizm renderowania
Aby włączyć nowy mechanizm renderowania, wykonaj te czynności:
- Zaktualizuj zależności aplikacji tak, aby używać
com.google.android.gms:play-services-maps:18.0.0
lub nowszej wersji. - Zaktualizuj kod, aby wyraźnie zaimportować
MapsInitializer
iMapsInitializer.Renderer
. - Zaktualizuj kod, aby wywołać metodę
MapsInitializer.initialize()
i poprosić oRenderer.LATEST
. - Użyj
OnMapsSdkInitializedCallback
, aby określić, która wersja mechanizmu renderowania została zwrócona.
Twój kod musi wywołać metodę MapsInitializer.initialize()
, zanim utworzone zostaną obiekty MapView
, MapFragment
lub SupportMapFragment
. Zalecamy ustawienie tej metody w onCreate
w przypadku Application
aplikacji lub Activity
, zanim zostanie ustawiony widok treści.
Poniższy przykład pokazuje, jak wywołać MapsInitializer.initialize()
w celu pobrania wersji mechanizmu renderowania.
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.LATEST, 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; } } }
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.LATEST, 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.") } } }