یک رندر نقشه ارتقا یافته از نسخه 18.0.0 Maps SDK برای Android در دسترس است. این رندر پیشرفتهای زیادی را به همراه دارد، از جمله پشتیبانی از طراحی نقشههای مبتنی بر ابر. میتوانید قبل از تبدیل شدن به رندر پیشفرض برای دستگاههای Android، از طریق عرضه تدریجی که از ژوئن 2022 شروع میشود، امتحان کنید.
رندر جدید مزایای زیر را ارائه می دهد:
- ویژگیهای طراحی نقشههای مبتنی بر ابر با رندر جدید در دسترس هستند.
- سفارشی سازی های پیشرفته Polyline با رندر جدید در دسترس هستند.
- کاهش بار شبکه، تقاضای پردازش و مصرف حافظه.
- کنترل ژستهای حرکتی بهبود یافته برای انیمیشنهای بهتر، بهعلاوه حرکت و زوم روانتر.
- انتقال سیال بیشتر و برچسبهای نقشه با موقعیت واضح.
- تجربه کاربری پایدارتر و بهبودیافته.
دستگاه های پشتیبانی شده
برای استفاده از رندر جدید، دستگاهها باید این معیارها را داشته باشند:
- Android 5.0 (سطح API 21) یا جدیدتر
- 2 گیگابایت یا بیشتر فضای ذخیره سازی داده
- با استفاده از خدمات Google Play نسخه 21.39.14 یا جدیدتر
دستگاههایی که از Android 4.4W (سطح API 20) و قدیمیتر استفاده میکنند، یا کمتر از 2 گیگابایت فضای ذخیرهسازی داده دارند، یا از سرویسهای Google Play نسخههای 21.39.13 یا بالاتر استفاده میکنند، همچنان از رندر قدیمی استفاده خواهند کرد.
چگونه رندر جدید را امتحان کنیم
برای شرکت در رندر جدید، مراحل زیر را انجام دهید:
- برای استفاده از
com.google.android.gms:play-services-maps:18.0.0
یا بالاتر، وابستگی های برنامه خود را به روز کنید. - کد خود را برای وارد کردن صریح
MapsInitializer
وMapsInitializer.Renderer
به روز کنید. - کد خود را برای فراخوانی
MapsInitializer.initialize()
برای درخواستRenderer.LATEST
به روز کنید. - از
OnMapsSdkInitializedCallback
برای تعیین اینکه کدام نسخه از رندر برگردانده شده است استفاده کنید.
قبل از ایجاد MapView
، MapFragment
یا SupportMapFragment
، کد شما باید MapsInitializer.initialize()
را فراخوانی کند. توصیه میکنیم قبل از تنظیم نمای محتوای برنامه، آن را در onCreate
برای Application
یا Activity
فراخوانی کنید.
مثال زیر نحوه فراخوانی MapsInitializer.initialize()
برای درخواست نسخه رندر نشان می دهد.
جاوا
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.LATEST, 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; } } }
کاتلین
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.LATEST, 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.") } } }