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 को अपग्रेड करके, 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; } } }