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

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

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

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

मार्च 2024 में, Google ने अपग्रेड किए गए रेंडरर का इस्तेमाल करने के लिए, डिप्लॉय किए गए सभी ऐप्लिकेशन को अपने-आप अपडेट करना शुरू किया. अपने-आप अपडेट होने की सुविधा, उन सभी ऐप्लिकेशन पर लागू की गई है जो डिवाइस से जुड़ी ज़रूरी शर्तों को पूरा करने वाले डिवाइसों पर काम करते हैं. भले ही, ऐप्लिकेशन में 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 या उससे पहले के वर्शन का इस्तेमाल करने वाले डिवाइस, लेगसी रेंडरर का इस्तेमाल करते रहेंगे.

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

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

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

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