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şturma aracı, bulut tabanlı harita stili desteği de dahil olmak üzere birçok iyileştirme sunar.

Yeni oluşturma aracı aşağıdaki avantajları sağlar:

  • Bulut tabanlı harita stilleri özellikleri yeni oluşturma aracında kullanılabilir.
  • Gelişmiş Çoklu Çizgi Özelleştirmeleri yeni oluşturucuyla kullanılabilir.
  • Ağ yükü, işleme talebi ve bellek tüketimi azaltılır.
  • Daha iyi animasyonlar ve daha akıcı kaydırma ve yakınlaştırma için hareketleri işleme özelliği iyileştirildi.
  • Daha akıcı geçişler ve net bir şekilde yerleştirilmiş harita etiketleri.
  • Daha kararlı ve iyileştirilmiş bir kullanıcı deneyimi.

Otomatik güncelleme durumu

Mart 2024'te Google, dağıtılan tüm uygulamaları yükseltilmiş oluşturma aracını kullanacak şekilde otomatik olarak güncellemeye başladı. Otomatik güncellemeler, çalışan tüm uygulamalara uygulandı minimum cihaz gereksinimlerini karşılayan cihazlarda, Uygulama tarafından kullanılan Android için Haritalar SDK'sının sürümünden bağımsız olarak. Bu kullanıma sunma tamamlandı.

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

Desteklenen cihazlar

Yükseltilmiş harita oluşturma aracını kullanmak için cihazların aşağıdaki ölçütleri karşılaması gerekir:

  • 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 uygulamanızda eski oluşturma aracını kullanmak için yükseltilmiş oluşturma aracının kullanımını açıkça devre dışı bırakabilirsiniz.

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

  • Android için Haritalar SDK'sını 18.0 veya sonraki bir sürüme yükseltin.

  • MapsInitializer ve MapsInitializer.Renderer sınıflarını açıkça içe aktaracak şekilde kodunuzu güncelleyin.

  • Kodunuzu, MapsInitializer.initialize() işlevini çağıracak şekilde güncelleyin. Bu işlev, kapsam dışında kalmayı ve eski oluşturma aracını kullanmayı seçmek için Renderer.LEGACY parametresini kullanır.

  • OnMapsSdkInitializedCallback işlevini kullanın. oluşturucunun hangi sürümünün döndürüldüğünü belirler.

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

Aşağıdaki örnekte, MapsInitializer.initialize() özelliğinin nasıl çağrılacağı gösterilmektedir 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;
    }
  }
}