Harita oluşturucu, Android için Haritalar SDK'sının 18.2.0 sürümünden itibaren kullanıma sunulmuştur. Bu oluşturucu, Bulut tabanlı harita stili desteği de dahil olmak üzere birçok iyileştirme sunar.
Yeni oluşturucu aşağıdaki avantajları sunar:
- Yeni oluşturucuda bulut tabanlı harita stil özellikleri kullanıma sunulmuştur.
- Yeni oluşturucuda Gelişmiş Çoklu Çizgi Özelleştirmeleri kullanıma sunulmuştur.
- Daha az ağ yükü, işleme talebi ve bellek tüketimi.
- Daha iyi animasyonlar için iyileştirilmiş hareket işlemenin yanı sıra daha sorunsuz kaydırma ve yakınlaştırma.
- Daha akıcı geçişler ve net şekilde konumlandırılmış harita etiketleri.
- Daha kararlı ve iyileştirilmiş kullanıcı deneyimi.
Kullanıma sunma planı
2024'ün Mart ayında Google, bir cihazda dağıtılan tüm uygulamaları yükseltilmiş oluşturucuyu kullanacak şekilde otomatik olarak güncellemeye başladı. Otomatik güncellemeler önümüzdeki aylarda cihaza göre kademeli olarak gerçekleştirilecek. Yani son kullanıcı cihazları, güncelleme döneminde farklı zamanlarda güncellenecek.
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:
Yeni sürüme geçirilmiş oluşturucuyu kullanmak üzere güncellenmiş uygulamalar.
Yeni sürüme geçişi 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çirilmiş oluşturucu oldu. Yükseltilmiş oluşturucudan yararlanmak için yeni SDK sürümünü kullanarak yeni uygulamalarınızı oluşturabilir veya mevcut uygulamalarınızı yeniden oluşturabilirsiniz. Alternatif olarak, dağıtılan uygulamanızın Google tarafından otomatik olarak güncellenmesini bekleyebilirsiniz.
Güncellemeden sonra, uygulamanız, yükseltilmiş oluşturucudaki tüm yeni özelliklerden ve avantajlardan yararlanabilir.
Ancak, değişikliğin kapsamı dışında kalmaya karar verirseniz uygulamanız eski oluşturucuyu kullanmaya devam eder. Devre dışı bırakmaya ilişkin örnek kod için Yeni sürüm oluşturucuyu 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ü kullanma
Android 4.4W (API düzeyi 20) ve önceki sürümleri veya Google Play hizmetlerinin 21.39.13 veya önceki sürümlerini kullanan cihazlar eski oluşturucuyu kullanmaya devam eder.
Yeni sürüm oluşturucuyu kullanmayı devre dışı bırakma
Gerekirse uygulamanızda eski oluşturucuyu kullanmak için yeni sürüm oluşturucuyu kullanmayı 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 geçirin.
MapsInitializer ve MapsInitializer.Renderer'ı açıkça içe aktaracak şekilde kodunuzu güncelleyin.
Devre dışı bırakmak ve eski oluşturucuyu kullanmak için kodunuzu
Renderer.LEGACY
yazarakMapsInitializer.initialize()
çağrısı yapacak şekilde güncelleyin.Oluşturucunun hangi sürümünün döndürüldüğünü belirlemek için OnMapsSdkInitializedCallback'i kullanın.
Herhangi bir MapView, MapFragment veya SupportMapFragment oluşturulmadan önce kodunuzun MapsInitializer.initialize()
çağrısı yapması gerekir. Uygulamanızın içerik görünümü ayarlanmadan önce onCreate
içinde uygulamanızın Uygulama
veya Etkinlik
için bunu çağırmanızı öneririz.
Aşağıdaki örnekte, eski harita oluşturucusunu kullanmayı devre dışı bırakmak için MapsInitializer.initialize()
yönteminin 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; } } }