सीमाओं के लिए डेटा-ड्रिवन स्टाइलिंग को सेट अप करने के लिए, यह तरीका अपनाएं.
Maps का नया रेंडरर चालू करना
अपग्रेड किया गया मैप रेंडरर, Android के लिए Maps SDK के 18.0.0 वर्शन के बाद से उपलब्ध है. इस रेंडरर की मदद से, Android के लिए Maps SDK टूल में कई सुधार किए गए हैं. जैसे, क्लाउड पर मैप की स्टाइलिंग की सुविधा.
Maps SDK for Android के 18.2.0 वर्शन के रिलीज़ होने के बाद, Google ने डिफ़ॉल्ट रेंडरर को लेगसी रेंडरर से अपग्रेड किए गए मैप रेंडरर पर स्विच कर दिया है. इस बदलाव का मतलब है कि नया ऐप्लिकेशन बनाने या किसी मौजूदा ऐप्लिकेशन को फिर से बनाने पर, अब आपके ऐप्लिकेशन में डिफ़ॉल्ट रूप से अपग्रेड किए गए मैप रेंडरर का इस्तेमाल किया जाता है.
मैप आईडी बनाना
नया मैप आईडी बनाने के लिए, मैप आईडी बनाना में दिया गया तरीका अपनाएं. पक्का करें कि आपने मैप के टाइप को Android पर सेट किया हो.
मैप की नई स्टाइल बनाना
मैप की नई स्टाइल बनाने के लिए, स्टाइल बनाने के लिए मैप स्टाइल मैनेज करें में दिए गए निर्देशों का पालन करें और स्टाइल को अभी बनाए गए मैप आईडी से जोड़ें.
अपने नए मैप स्टाइल में फ़ीचर लेयर चुनना
Google API Console में, यह चुना जा सकता है कि मैप की नई स्टाइल के लिए कौनसी सुविधा लेयर दिखानी हैं. फ़ीचर लेयर यह तय करती है कि मैप पर किस तरह की सीमाएं दिखेंगी (उदाहरण के लिए, शहर, राज्य वगैरह).
- Google API कंसोल में, 'मैप स्टाइल' पेज पर जाएं.
- अनुरोध किए जाने पर कोई प्रोजेक्ट चुनें.
- मैप का कोई स्टाइल चुनें.
- लेयर जोड़ने या हटाने के लिए, सुविधा लेयर ड्रॉप-डाउन पर क्लिक करें.
- अपने बदलावों को सेव करने और उन्हें अपने मैप पर उपलब्ध कराने के लिए, सेव करें पर क्लिक करें.
अपना मैप शुरू करने का कोड अपडेट करें
इस चरण के लिए वह मैप आईडी होना ज़रूरी है जो आपने अभी-अभी बनाया है. इसे आपके Maps मैनेजमेंट पेज पर देखा जा सकता है.
अपने शुरू करने के लिए कोड में मैप आईडी जोड़ने के लिए, अपने ऐप्लिकेशन में मैप आईडी जोड़ना लेख पढ़ें.
मैप की फ़ीचर लेयर का ऐक्सेस पाना
मैप की हर फ़ीचर लेयर को दिखाने के लिए, 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());