Yeni Harita Oluşturucu

Android için Haritalar SDK'sının 18.2.0 sürümü itibarıyla yeni bir harita oluşturucu kullanıma sunulmuştur. Bu oluşturucu, bulut tabanlı harita stili desteği dahil pek çok iyileştirme sunar.

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

  • Yeni oluşturucuda Bulut tabanlı harita stilleri kullanılabilir.
  • Gelişmiş Çoklu Çizgi Özelleştirmeleri yeni oluşturucuda mevcuttur.
  • 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ırma.
  • 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ı

Mart 2024'te Google, yükseltilmiş oluşturucuyu kullanmak için bir cihazdaki dağıtılan tüm uygulamaları otomatik olarak güncellemeye başladı. Otomatik güncellemeler cihaza bağlı olarak önümüzdeki aylarda kademeli olarak gerçekleşecektir. Yani, son kullanıcı cihazları, güncelleme döneminde farklı zamanlarda güncellenecektir.

Otomatik güncellemeler, uygulama tarafından kullanılan Android için Haritalar SDK'sının sürümüne bakılmaksızın minimum cihaz gereksinimlerini karşılayan cihazlarda çalışan tüm uygulamalar için geçerlidir.

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, Android için Haritalar SDK'sının 18.2.0 sürümüyle birlikte yeni sürüme geçirilen oluşturucu oldu. Yükseltilmiş oluşturucudan yararlanmak için yeni uygulamalarınızı oluşturabilir veya yeni SDK sürümünü kullanarak mevcut uygulamalarınızı yeniden derleyebilirsiniz. Alternatif olarak, dağıtılan uygulamanızın Google tarafından otomatik olarak güncellenmesini bekleyebilirsiniz.

Güncellemeden sonra uygulamanız, yükseltilmiş oluşturucuda bulunan tüm yeni özelliklerden ve avantajlardan yararlanabilir.

Değişikliğin kapsamı dışında kalmaya karar verirseniz uygulamanız eski oluşturucuyu kullanmaya devam eder. Nasıl devre dışı bırakacağınıza ilişkin örnek kod için Yükselticiyi kullanmayı devre dışı bırakma bölümüne bakın.

Desteklenen cihazlar

Otomatik güncelleme, uygulama tarafından kullanılan Android için Haritalar SDK'sının sürümüne bakılmaksızın aşağıdaki ölçütleri karşılayan tüm cihazlar için geçerlidir:

  • 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 ya da Google Play Hizmetleri'nin 21.39.13 veya önceki sürümlerini kullanan cihazlar eski oluşturucuyu kullanmaya devam eder.

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

Gerekirse uygulamanızda eski oluşturucuyu kullanmak için yükseltilmiş oluşturucuyu kullanmamayı açık bir şekilde devre dışı bırakabilirsiniz.

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

Herhangi bir MapView, MapFragment veya SupportMapFragment oluşturulmadan önce kodunuz MapsInitializer.initialize() çağrısı yapılmalıdır. İçerik görünümü ayarlanmadan önce uygulamanızın Uygulama veya Etkinlik bölümünde bu komutu çağırmanızı öneririz.onCreate

Aşağıdaki örnekte, eski harita oluşturucuyu kullanmak üzere kapsam dışında kalmak için MapsInitializer.initialize() özelliğinin nasıl çağrılacağı gösterilmektedir.

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