Nowy mechanizm renderowania map

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 dostosowywanie łańcuchów wygładzonych linii jest 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. 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 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 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.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 renderera

W razie potrzeby możesz odrzucić użycie uaktualnionego silnika i użyć starszego silnika w swojej aplikacji.

Aby to zrobić:

Twój kod musi zadzwonić MapsInitializer.initialize() przed MapView, MapFragment, lub SupportMapFragment Utworzono. Zalecamy wywołanie tej funkcji w onCreateaplikacji 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;
    }
  }
}