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:
Yükseltilmiş oluşturucuyu kullanacak şekilde güncellenmiş uygulamalar.
Yükseltmeyi açıkça devre dışı bırakan uygulamalar.
Minimum cihaz gereksinimlerini karşılamayan cihazlarda çalışan uygulamalar.
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:
Android için Haritalar SDK'sını 18.0 veya sonraki bir sürüme yükseltin.
MapsInitializer ve MapsInitializer.Renderer'ı içe aktarmak için kodunuzu güncelleyin.
Kapsam dışında kalmayı seçmek ve eski oluşturucuyu kullanmak için
Renderer.LEGACY
değerini ileterekMapsInitializer.initialize()
kodunu çağıracak şekilde kodunuzu güncelleyin.Oluşturucunun hangi sürümünün döndürüldüğünü belirlemek için OnMapsSdkInitializedCallback kullanın.
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; } } }