رندر نقشه جدید

یک رندر نقشه ارتقا یافته از نسخه 18.2.0 Maps SDK برای Android در دسترس است. این رندر پیشرفت‌های زیادی را به همراه دارد، از جمله پشتیبانی از طراحی نقشه‌های مبتنی بر ابر.

رندر جدید مزایای زیر را ارائه می دهد:

  • ویژگی‌های طراحی نقشه‌های مبتنی بر ابر با رندر جدید در دسترس هستند.
  • سفارشی سازی های پیشرفته Polyline با رندر جدید در دسترس هستند.
  • کاهش بار شبکه، تقاضای پردازش و مصرف حافظه.
  • کنترل ژست‌های حرکتی بهبود یافته برای انیمیشن‌های بهتر، به‌علاوه حرکت و زوم روان‌تر.
  • انتقال سیال بیشتر و برچسب‌های نقشه با موقعیت واضح.
  • تجربه کاربری پایدارتر و بهبودیافته.

وضعیت به روز رسانی خودکار

در مارس 2024، گوگل به‌روزرسانی خودکار همه برنامه‌های مستقر شده را برای استفاده از رندر ارتقا یافته آغاز کرد. به‌روزرسانی‌های خودکار برای همه برنامه‌های در حال اجرا در دستگاه‌هایی اعمال شده است که حداقل مورد نیاز دستگاه را برآورده می‌کنند، صرف‌نظر از نسخه Maps SDK برای Android که توسط برنامه استفاده می‌شود. این عرضه اکنون کامل شده است.

به روز رسانی خودکار برای موارد زیر اعمال نمی شود:

  • برنامه‌هایی که قبلاً برای استفاده از رندر ارتقا یافته به‌روزرسانی شده‌اند.

  • برنامه‌هایی که به صراحت از این ارتقا انصراف داده‌اند .

  • برنامه‌هایی که روی دستگاه‌هایی اجرا می‌شوند که حداقل الزامات دستگاه را برآورده نمی‌کنند.

دستگاه های پشتیبانی شده

برای استفاده از ارائه‌دهنده نقشه ارتقا یافته، دستگاه‌ها باید این معیارها را داشته باشند:

  • Android 5.0 (سطح API 21) یا جدیدتر
  • با استفاده از خدمات Google Play نسخه 21.39.14 یا جدیدتر

دستگاه‌هایی که از Android 4.4W (سطح API 20) و قدیمی‌تر استفاده می‌کنند یا از خدمات Google Play نسخه‌های 21.39.13 یا قدیمی‌تر استفاده می‌کنند، همچنان از ارائه‌دهنده قدیمی استفاده می‌کنند.

از استفاده از رندر ارتقا یافته انصراف دهید

در صورت لزوم، می‌توانید صراحتاً از استفاده از رندر ارتقا یافته برای استفاده از رندر قدیمی در برنامه خود انصراف دهید.

برای انصراف:

  • Maps SDK برای Android را به نسخه 18.0 یا بالاتر ارتقا دهید .

  • کد خود را برای وارد کردن صریح MapsInitializer و MapsInitializer.Renderer به روز کنید.

  • کد خود را به‌روزرسانی کنید تا MapsInitializer.initialize() فراخوانی کنید و Renderer.LEGACY عبور دهید تا انصراف دهید و از رندر قدیمی استفاده کنید.

  • از 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

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.")
    }
  }
}

جاوا

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;
    }
  }
}