बाउंड्री के लिए डेटा-ड्रिवन स्टाइलिंग सेट अप करने के लिए, यह तरीका अपनाएं.
नया मैप रेंडरर चालू करना
Android के लिए Maps SDK के वर्शन 18.0.0 से, अपग्रेड किया गया मैप रेंडरर उपलब्ध है. इस रेंडरर की मदद से, Android के लिए Maps SDK में कई सुधार किए गए हैं. इनमें क्लाउड पर मैप की स्टाइलिंग की सुविधा भी शामिल है.
Android के लिए Maps SDK के 18.2.0 वर्शन के रिलीज़ होने के साथ ही, Google ने डिफ़ॉल्ट रेंडरर को लेगसी रेंडरर से अपग्रेड किए गए मैप रेंडरर पर स्विच कर दिया. इस बदलाव का मतलब है कि जब कोई नया ऐप्लिकेशन बनाया जाएगा या किसी मौजूदा ऐप्लिकेशन को फिर से बनाया जाएगा, तब आपके ऐप्लिकेशन में अपग्रेड किया गया मैप रेंडरर डिफ़ॉल्ट रूप से इस्तेमाल किया जाएगा.
मैप आईडी बनाना
नया मैप आईडी बनाने के लिए, मैप आईडी बनाना लेख में दिया गया तरीका अपनाएं. पक्का करें कि आपने मैप टाइप को Android पर सेट किया हो.
मैप का नया स्टाइल बनाना
मैप की नई स्टाइल बनाने के लिए, मैप की स्टाइल मैनेज करना लेख में दिए गए निर्देशों का पालन करें. इसके बाद, स्टाइल को उस मैप आईडी से जोड़ें जिसे आपने अभी-अभी बनाया है.
अपनी नई मैप स्टाइल में फ़ीचर लेयर चुनना
Google API Console में जाकर, यह चुना जा सकता है कि मैप की नई स्टाइल के लिए, कौनसी मैप लेयर दिखानी हैं. मैप लेयर से यह तय होता है कि मैप पर किस तरह की सीमाएं दिखेंगी. उदाहरण के लिए, मोहल्ले, राज्य वगैरह.
- Google API Console में, मैप स्टाइल पेज पर जाएं.
- अगर कहा जाए, तो कोई प्रोजेक्ट चुनें.
- मैप के लिए कोई स्टाइल चुनें.
- लेयर जोड़ने या हटाने के लिए, मैप लेयर ड्रॉप-डाउन पर क्लिक करें.
- अपने बदलावों को सेव करने और उन्हें अपने मैप पर उपलब्ध कराने के लिए, सेव करें पर क्लिक करें.
मैप को शुरू करने के लिए इस्तेमाल होने वाले कोड को अपडेट करना
इस चरण के लिए, आपको उस मैप आईडी की ज़रूरत होगी जिसे आपने अभी-अभी बनाया है. यह आपको मैप मैनेजमेंट पेज पर मिल सकता है.
इनिशलाइज़ेशन कोड में मैप आईडी जोड़ने के लिए, अपने ऐप्लिकेशन में मैप आईडी जोड़ना लेख पढ़ें.
मैप की किसी मैप लेयर का ऐक्सेस पाना
मैप की हर मैप लेयर को दिखाने के लिए, FeatureLayer ऑब्जेक्ट का इस्तेमाल किया जाता है. जैसे, पिन कोड या इलाके की मैप लेयर. मैप लेयर ऑब्जेक्ट का ऐक्सेस पाने के लिए, मैप शुरू होने पर GoogleMap.getFeatureLayer() को कॉल करें:
Java
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()); ... }
Kotlin
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 का इस्तेमाल करके
देखें कि सीमाओं के लिए, डेटा-ड्रिवन स्टाइलिंग की सुविधा काम करती है या नहीं.
Kotlin
val capabilities: MapCapabilities = googleMap.getMapCapabilities() System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable())
Java
MapCapabilities capabilities = googleMap.getMapCapabilities(); System.out.println("Data-driven Styling is available: " + capabilities.isDataDrivenStylingAvailable());