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ş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 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
Google, Mart 2024'te dağıtılan tüm uygulamaları yükseltilmiş oluşturucu. Otomatik güncellemeler, uygulamanın kullandığı Android için Haritalar SDK'sının sürümünden bağımsız olarak minimum cihaz koşullarını karşılayan cihazlarda çalışan tüm uygulamalara uygulandı. Bu kullanıma sunma işlemi tamamlandı.
Otomatik güncellemeler şunlar 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.
Desteklenen cihazlar
Yeni sürüme geçirilen harita oluşturucuyu 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ün kullanılması
Android 4.4W (API düzeyi 20) ve önceki sürümleri ya da Google Play Hizmetleri 21.39.13 ve önceki sürümlerini kullanan cihazlar eski oluşturma aracını kullanmaya devam eder.
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'ı açıkça içe aktarmak için kodunuzu güncelleme ve MapsInitializer.Renderer olarak görünür.
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çinRenderer.LEGACY
parametresini kullanır.OnMapsSdkInitializedCallback işlevini kullanın. oluşturucunun hangi sürümünün döndürüldüğünü belirler.
Kodunuz, herhangi bir MapView, MapFragment veya SupportMapFragment oluşturulmadan önce MapsInitializer.initialize()
çağrısını yapmalıdır. Uygulamanızın onCreate
içinde bu çağrıyı
Uygulama,
veya
Etkinlik,
emin olmanız gerekir.
Aşağıdaki örnekte, eski harita oluşturma aracını kullanmak için kapsam dışında kalmayı seçmek üzere MapsInitializer.initialize()
işlevinin 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; } } }