नया मैप रेंडरर

अपग्रेड किया गया मैप रेंडरर, Android के लिए Maps SDK के 18.2.0 वर्शन के बाद उपलब्ध है. इस रेंडरर की मदद से कई सुधार किए गए हैं. इनमें क्लाउड-आधारित मैप स्टाइलिंग के साथ काम करने की सुविधा भी शामिल है.

नए रेंडरर से ये फ़ायदे मिलते हैं:

  • क्लाउड-आधारित मैप स्टाइलिंग की सुविधाएं, नए रेंडरर में उपलब्ध हैं.
  • बेहतर पॉलीलाइन कस्टमाइज़ेशन नए रेंडरर के साथ उपलब्ध हैं.
  • नेटवर्क लोड, प्रोसेसिंग की मांग, और मेमोरी के इस्तेमाल में कमी.
  • बेहतर ऐनिमेशन के लिए हाथ के जेस्चर से जुड़ी बेहतर हैंडलिंग, आसान पैनिंग और ज़ूमिंग.
  • ज़्यादा तरल ट्रांज़िशन और साफ़ जगह पर मैप लेबल.
  • ज़्यादा स्थिर और बेहतर उपयोगकर्ता अनुभव.

रोल आउट शेड्यूल

मार्च 2024 में, Google ने अपग्रेड किए गए रेंडरर का इस्तेमाल करने के लिए, डिवाइस पर डिप्लॉय किए गए सभी ऐप्लिकेशन को अपने-आप अपडेट करना शुरू कर दिया था. आने वाले महीनों में, डिवाइस के हिसाब से अपने-आप अपडेट होते रहेंगे. इसका मतलब है कि असली उपयोगकर्ता के डिवाइसों को अपडेट की अवधि के दौरान अलग-अलग समय पर अपडेट किया जाएगा.

अपने-आप अपडेट होने की सुविधा, डिवाइस की ज़रूरी शर्तें पूरी करने वाले सभी डिवाइसों पर चल रहे सभी ऐप्लिकेशन पर लागू होती है. भले ही, ऐप्लिकेशन Android के लिए Maps SDK के किसी भी वर्शन का इस्तेमाल कर रहा हो.

अपने-आप अपडेट होने की सुविधा इन पर लागू नहीं होती:

  • ऐसे ऐप्लिकेशन जो अपग्रेड किए गए रेंडरर का इस्तेमाल करने के लिए, पहले ही अपडेट किए जा चुके हैं.

  • ऐसे ऐप्लिकेशन जो अपग्रेड से साफ़ तौर पर ऑप्ट-आउट कर चुके हैं.

  • ऐसे डिवाइसों पर चल रहे ऐप्लिकेशन जो डिवाइस से जुड़ी ज़रूरी शर्तों को पूरा नहीं करते.

डिफ़ॉल्ट रेंडरर के बदलने पर क्या होता है?

Android के लिए Maps SDK के 18.2.0 वर्शन के रिलीज़ होने के बाद, डिफ़ॉल्ट रेंडरर, अपग्रेड किया गया रेंडरर बन गया. अपग्रेड किए गए रेंडरर का फ़ायदा पाने के लिए, नए ऐप्लिकेशन बनाए जा सकते हैं या SDK टूल के नए वर्शन का इस्तेमाल करके, किसी मौजूदा ऐप्लिकेशन को फिर से बनाया जा सकता है. इसके अलावा, डिप्लॉय किए गए ऐप्लिकेशन के Google से अपने-आप अपडेट होने तक इंतज़ार करें.

अपडेट के बाद, आपके ऐप्लिकेशन को अपग्रेड किए गए रेंडरर में उपलब्ध सभी नई सुविधाओं और फ़ायदे का फ़ायदा मिल सकता है.

हालांकि, अगर आप बदलाव से ऑप्ट-आउट करने का फ़ैसला करते हैं, तो आपका ऐप्लिकेशन लेगसी रेंडरर का इस्तेमाल करता रहेगा. ऑप्ट-आउट करने के तरीके के बारे में उदाहरण कोड के लिए, अपग्रेड किया गया रेंडरर का इस्तेमाल करने से ऑप्ट-आउट करना देखें.

वे डिवाइस जिन पर YouTube ऐप्लिकेशन से YouTube Kids का इस्तेमाल किया जा सकता है

अपने-आप अपडेट होने की सुविधा इन शर्तों को पूरा करने वाले सभी डिवाइसों पर लागू होती है. इस बात से कोई फ़र्क़ नहीं पड़ता कि ऐप्लिकेशन, Android के लिए Maps SDK टूल का कौनसा वर्शन इस्तेमाल कर रहा है:

  • Android 5.0 (एपीआई लेवल 21) या इसके बाद के वर्शन
  • Google Play services के 21.39.14 या इसके बाद के वर्शन का इस्तेमाल करना

Android 4.4W (एपीआई लेवल 20) और इससे पहले के वर्शन या Google Play services के 21.39.13 या इससे पहले के वर्शन का इस्तेमाल करने वाले डिवाइसों में, अब भी लेगसी रेंडरर का इस्तेमाल किया जा रहा है.

अपग्रेड किए गए रेंडरर को इस्तेमाल करने की सुविधा से ऑप्ट-आउट करना

अगर ज़रूरी हो, तो अपने ऐप्लिकेशन में लेगसी रेंडरर का इस्तेमाल करने के लिए, अपग्रेड किए गए रेंडरर के इस्तेमाल से ऑप्ट-आउट किया जा सकता है.

इस सुविधा से ऑप्ट-आउट करने के लिए:

  • Android के लिए Maps SDK को v18.0 या उसके बाद वाले वर्शन पर अपग्रेड करें.

  • MapsInitializer और MapsInitializer.Renderer को सही तरीके से इंपोर्ट करने के लिए, अपने कोड को अपडेट करें.

  • MapsInitializer.initialize() को कॉल करने के लिए, कोड को अपडेट करें. ऑप्ट-आउट करने और लेगसी रेंडरर का इस्तेमाल करने के लिए, Renderer.LEGACY पास करें.

  • रेंडरर का कौनसा वर्शन लौटाया गया था, यह तय करने के लिए OnMapsSdkInitializedCallback का इस्तेमाल करें.

कोई भी MapView, MapFragment या SupportMapFragment के बनाए जाने से पहले, आपके कोड को MapsInitializer.initialize() को कॉल करना होगा. हमारा सुझाव है कि आप अपने ऐप्लिकेशन के ऐप्लिकेशन या गतिविधि के लिए, कॉन्टेंट व्यू सेट होने से पहले इसे onCreate में कॉल करें.

इस उदाहरण में, लेगसी मैप रेंडरर का इस्तेमाल करने के लिए, MapsInitializer.initialize() को कॉल करने का तरीका बताया गया है.

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