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.
Harmonogram wdrażania
W marcu 2024 r. firma Google zaczęła automatycznie aktualizować wszystkie wdrożone aplikacje na urządzeniu do używania uaktualnionego mechanizmu renderowania. Automatyczne aktualizacje będą wykonywane stopniowo w ciągu najbliższych miesięcy, na podstawie urządzenia, co oznacza, że użytkownik urządzenia będą aktualizowane w różnym czasie.
Automatyczne aktualizacje są stosowane do wszystkich aplikacji działających na urządzeniach, które spełniają minimalne wymagania sprzętowe wymagań urządzenia niezależnie od wersji Maps SDK na Androida używany przez aplikację.
Aktualizacje automatyczne nie dotyczą:
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 .
Co się stanie, gdy zmieni się domyślny mechanizm renderowania?
Domyślny mechanizm renderowania stał się uaktualnionym mechanizmem renderowania wraz z udostępnieniem nowej wersji 18.2.0 pakietu SDK Maps na Androida. Aby korzystać z ulepszonego mechanizmu renderowania, mogą tworzyć nowe aplikacje lub rekompilować istniejące, za pomocą nowego pakietu SDK. wersji. Możesz też poczekać, aż wdrożona aplikacja zostanie automatycznie zaktualizowana do Google.
Po zaktualizowaniu aplikacja będzie mogła korzystać ze wszystkich nowych funkcji z zalet uaktualnionego mechanizmu renderowania.
Jeśli jednak zrezygnujesz ze zmiany, aplikacja nadal będzie używać starszego mechanizmu renderowania. Więcej informacji na ten temat znajdziesz w sekcji Rezygnacja z używania uaktualnionego mechanizmu renderowania: przykładowy kod rezygnacji.
Obsługiwane urządzenia
Automatyczna aktualizacja jest stosowana na wszystkich urządzeniach, które spełniają te kryteria, niezależnie od wersja pakietu SDK Maps na Androida używana przez aplikację:
- 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 importować 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 dowolnym obiektem 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; } } }