Nowy mechanizm renderowania map

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

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:

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.")
    }
  }
}