सीमाओं के लिए डेटा-ड्रिवन स्टाइल सेट अप करने के लिए, यह तरीका अपनाएं.
Maps का नया रेंडरर चालू करना
Maps SDK for Android के 18.0.0 वर्शन से, अपग्रेड किया गया मैप रेंडरर उपलब्ध है. इस रेंडरर की मदद से, Android के लिए Maps SDK टूल में कई सुधार किए गए हैं. जैसे, क्लाउड पर मैप की स्टाइलिंग की सुविधा.
Maps SDK for Android के 18.2.0 वर्शन के रिलीज़ होने के बाद, Google ने डिफ़ॉल्ट रेंडरर को लेगसी रेंडरर से अपग्रेड किए गए मैप रेंडरर पर स्विच कर दिया है. इस बदलाव का मतलब है कि नया ऐप्लिकेशन बनाने या किसी मौजूदा ऐप्लिकेशन को फिर से बनाने पर, अब आपके ऐप्लिकेशन में डिफ़ॉल्ट रूप से अपग्रेड किए गए मैप रेंडरर का इस्तेमाल किया जाता है.
मैप आईडी बनाना
नया मैप आईडी बनाने के लिए, मैप आईडी बनाएं पर दिया गया तरीका अपनाएं. पक्का करें कि आपने मैप टाइप को Android पर सेट किया हो.
मैप का नया स्टाइल बनाना
मैप की नई स्टाइल बनाने के लिए, मैप की स्टाइल मैनेज करें में दिए गए निर्देशों का पालन करें. इसके बाद, स्टाइल को उस मैप आईडी से जोड़ें जिसे आपने अभी बनाया है.
अपने नए मैप स्टाइल में फ़ीचर लेयर चुनना
Google API Console में, यह चुना जा सकता है कि मैप की नई स्टाइल के लिए कौनसी सुविधा लेयर दिखानी हैं. फ़ीचर लेयर से यह तय होता है कि मैप पर किस तरह की सीमाएं दिखेंगी. जैसे, इलाके, राज्य वगैरह.
- Google API कंसोल में, 'मैप स्टाइल' पेज पर जाएं.
- अगर कहा जाए, तो कोई प्रोजेक्ट चुनें.
- मैप का कोई स्टाइल चुनें.
- लेयर जोड़ने या हटाने के लिए, फीचर लेयर ड्रॉप-डाउन पर क्लिक करें.
- अपने बदलावों को सेव करने और उन्हें अपने मैप पर उपलब्ध कराने के लिए, सेव करें पर क्लिक करें.
मैप को शुरू करने के लिए कोड अपडेट करना
इस चरण के लिए, आपने जो मैप आईडी बनाया है उसकी ज़रूरत होगी. यह आपको अपने Maps मैनेजमेंट पेज पर मिल सकता है.
अपने शुरू करने के लिए कोड में मैप आईडी जोड़ने के लिए, अपने ऐप्लिकेशन में मैप आईडी जोड़ना लेख पढ़ें.
मैप की किसी फीचर लेयर का ऐक्सेस पाना
मैप की हर फ़ीचर लेयर को दिखाने के लिए, FeatureLayer
ऑब्जेक्ट का इस्तेमाल किया जाता है. जैसे, पिन कोड या इलाके की फ़ीचर लेयर. फ़ीचर लेयर ऑब्जेक्ट का ऐक्सेस पाने के लिए, मैप शुरू होने पर GoogleMap.getFeatureLayer()
को कॉल करें:
private FeatureLayer postalCodeLayer;
@Override public void onMapReady(GoogleMap map) { // Get the POSTAL_CODE feature layer. postalCodeLayer = map.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()); ... }
private var postalCodeLayer: FeatureLayer? = null
override fun onMapReady(googleMap: GoogleMap) { // Get the POSTAL_CODE feature layer. postalCodeLayer = googleMap.getFeatureLayer(new FeatureLayerOptions.Builder() .featureType(FeatureType.POSTAL_CODE) .build()) ... }
फ़ीचर लेयर का टाइप बताने के लिए, getFeatureLayer()
को FeatureLayerOptions
ऑब्जेक्ट पास करें. इस उदाहरण में, आपको POSTAL_CODE
लेयर को ऐक्सेस करना है. आपको जिस लेयर को स्टाइल करना है उसके लिए एक अलग
FeatureLayer
ऑब्जेक्ट बनाएं.
FeatureLayer
ऑब्जेक्ट मिलने के बाद, उस सुविधा में मौजूद सीमा वाले पॉलीगॉन पर स्टाइल लागू की जा सकती है.
मैप की सुविधाएं देखना (ज़रूरी है)
सीमाओं के लिए डेटा-ड्रिवन स्टाइलिंग के लिए, मैप आईडी की ज़रूरत होती है. अगर मैप आईडी मौजूद नहीं है या अमान्य मैप आईडी दिया गया है, तो सीमाओं के लिए डेटा-ड्रिवन स्टाइल लोड नहीं हो सकती. समस्या हल करने के लिए, MapCapabilities
का इस्तेमाल करके यह पता लगाया जा सकता है कि सीमाओं के लिए डेटा-ड्रिवन स्टाइलिंग की सुविधा काम करती है या नहीं.
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());