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

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

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

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

अपने-आप अपडेट होने की स्थिति

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

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

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

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

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

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

अपग्रेड किए गए मैप रेंडरर का इस्तेमाल करने के लिए, डिवाइस को इन शर्तों को पूरा करना होगा:

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

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

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

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

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

  • Maps SDK for Android को 18.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;
    }
  }
}