Yeni Harita Oluşturucu

Harita oluşturucunun 18.2.0 sürümünden itibaren yeni sürümü Android için Haritalar SDK'sı. Bu oluşturucu, aşağıdakiler de dahil olmak üzere pek çok iyileştirme sunar: Bulut tabanlı harita stilleri.

Yeni oluşturucu aşağıdaki avantajları sağlar:

  • Bulut tabanlı harita stilleri özellikleri yeni oluşturucuda kullanılabilir.
  • Gelişmiş Çoklu Çizgi Özelleştirmeleri yeni oluşturucuyla kullanılabilir.
  • Azaltılmış ağ yükü, işleme talebi ve bellek tüketimi.
  • Daha iyi animasyonlar için iyileştirilmiş hareket işleme, daha akıcı kaydırma ve yakınlaştırın.
  • Daha akıcı geçişler ve açıkça yerleştirilmiş harita etiketleri.
  • Daha kararlı ve iyileştirilmiş bir kullanıcı deneyimi.

Kullanıma sunma planı

Google, Mart 2024'te Google Cloud Platform'da dağıtılan tüm uygulamaları yükseltilmiş oluşturucuyu kullanması gerekir. Otomatik güncellemeler yapılacak cihaz türüne göre önümüzdeki aylarda kademeli olarak artış gösterir. Yani son kullanıcı cihazlar, güncelleme döneminde farklı zamanlarda güncellenir.

Otomatik güncellemeler, minimum minimum erişim düzeyini karşılayan cihazlarda çalışan tüm uygulamalar için cihaz gereksinimlerine uygun olması için Uygulama tarafından kullanılan Android için Haritalar SDK'sı.

Otomatik güncellemeler aşağıdakiler için geçerli değildir:

Varsayılan oluşturucu değiştiğinde ne olur?

Varsayılan oluşturucu, sürümün yayınlanmasıyla yükseltilmiş oluşturucu oldu 18.2.0 sürümüne sahip olacaktır. Yükseltilmiş oluşturucudan yararlanmak için yeni SDK'yı kullanarak yeni uygulamalarınızı derleyebilir veya mevcut uygulamalarınızı yeniden derleyebilir sürümünü değil. Alternatif olarak, dağıtılan uygulamanızın Google'a dokunun.

Güncellemeden sonra uygulamanız tüm yeni özelliklerden ve yeni sürüme geçirilen oluşturucuda sunulan avantajlar hakkında bilgi edinin.

Ancak değişikliğin kapsamı dışında kalmaya karar verirseniz uygulamanız eski oluşturucuyu kullanabilirsiniz. Yeni sürüme geçirilen oluşturucuyu kullanmayı devre dışı bırakma başlıklı makaleye göz atın. nasıl devre dışı bırakılacağı ile ilgili örnek kod.

Desteklenen cihazlar

Otomatik güncelleme, ne olursa olsun bu ölçütleri karşılayan tüm cihazlar için geçerlidir: uygulama tarafından kullanılan Android için Haritalar SDK'sının sürümü:

  • Android 5.0 (API düzeyi 21) veya sonraki sürümler
  • Google Play Hizmetleri 21.39.14 veya sonraki bir sürümü kullanıyorsanız

Android 4.4W (API düzeyi 20) ve önceki sürümleri kullanan ya da Google Play'i kullanan cihazlar 21.39.13 veya daha eski hizmet sürümleri eski oluşturucuyu kullanmaya devam edecektir.

Yükselticiyi kullanmayı devre dışı bırakma

Gerekirse, eski oluşturucuyu kullanabilirsiniz.

Devre dışı bırakmak için:

Kodunuz şu numarayı aramalıdır: MapsInitializer.initialize() herhangi bir MapView'nden önce, MapFragment, veya SupportMapFragment oluşturuldu. Uygulamanızın onCreate içinde bu çağrıyı Uygulama, veya Etkinlik, ayarlanmaz.

Aşağıdaki örnekte, MapsInitializer.initialize() işlevinin eski harita oluşturucuyu kullanmayı devre dışı bırakın.

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;
    }
  }
}