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

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

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

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

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

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

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

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

  • ऐसे ऐप्लिकेशन जिन्होंने अपग्रेड से ऑप्ट आउट किया है.

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

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

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

  • 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 को साफ़ तौर पर इंपोर्ट किया जा सके.

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

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

आपका कोड, MapsInitializer.initialize() को कॉल करे. ऐसा तब किया जाना चाहिए, जब MapView, MapFragment या SupportMapFragment बनाया गया हो. हमारा सुझाव देते हैं कि आप इस फ़ंक्शन को अपने ऐप्लिकेशन के Application या Activity में, कॉन्टेंट व्यू सेट होने से पहले 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;
    }
  }
}