Google Maps Platform, मैप की स्टाइलिंग क्लाउड-आधारित सुविधाएं देता है. इससे Google Cloud Console का इस्तेमाल करके, मैप को स्टाइल करना, कस्टमाइज़ करना, और मैनेज करना आसान हो जाता है. इससे हर बार स्टाइल बदलने पर, ऐप्लिकेशन कोड को अपडेट किए बिना उपयोगकर्ताओं को उनकी पसंद के मुताबिक मैप का अनुभव मिलता है.
15 सितंबर, 2020 से पहले बनाई गई स्टाइल में, Google Maps की बेहतर नैचुरल सुविधाएं नहीं दिखतीं. अपने मैप की स्टाइल को बेहतर बनाने के लिए, Google Maps की बेहतर नैचुरल सुविधाएं इस्तेमाल करने के लिए, आपको मैप की स्टाइल बनानी होगी.
क्लाउड-आधारित मैप स्टाइलिंग से, आपको Google Maps का इस्तेमाल करने वाले अपने किसी भी ऐप्लिकेशन के लिए, मैप स्टाइल बनाने और उनमें बदलाव करने की सुविधा मिलती है. इसके लिए, आपको मैप आईडी तय करने के बाद कोड में कोई बदलाव करने की ज़रूरत नहीं होती. स्टाइल में बदलाव करने के सभी काम Cloud Console में किए जा सकते हैं. इसके लिए, कोडिंग स्किल की ज़रूरत नहीं होती. मैप के कई एलिमेंट का रंग-रूप और रंग बदलें. जैसे, सड़कें, बिल्डिंग, पानी के स्रोत, पसंदीदा जगहें, और बस, मेट्रो वगैरह.
इन सुविधाओं में ये शामिल हैं:
- क्लाउड-आधारित मैप स्टाइल: अपने मैप को JSON का इस्तेमाल करके कोड में स्टाइल करने के बजाय, अपने डाइनैमिक या स्टैटिक मैप को मैनेज और स्टाइल करें. इसके लिए, Cloud Console में, मैप आईडी और मैप स्टाइल का इस्तेमाल करें.
- वेक्टर मैप: JavaScript डेवलपर उसी WebGL-Accelerated वेक्टर-आधारित मैप का इस्तेमाल करना चुन सकते हैं जो Maps.google.com पर सीधे उनके वेब ऐप्लिकेशन में उपलब्ध होता है.
- कारोबार की लोकप्रिय जगह के हिसाब से फ़िल्टर करना: मैप के डिसप्ले से, कारोबार की लोकप्रिय जगहों की पांच कैटगरी को वैकल्पिक तौर पर हटाया जा सकता है.
- लोकप्रिय जगह की डेंसिटी कंट्रोल: बुनियादी मैप पर दिखाई गई लोकप्रिय जगहों की सघनता में बदलाव किया जा सकता है, ताकि डिफ़ॉल्ट रूप से ज़्यादा या कम दिलचस्पी वाली जगहें दिखाई जा सकें.
क्लाउड-आधारित मैप स्टाइलिंग, Android के लिए Maps SDK टूल1, iOS के लिए Maps SDK टूल, JavaScript, और Maps स्टैटिक एपीआई पर उपलब्ध है. हालांकि, सभी प्लैटफ़ॉर्म पर सभी सुविधाएं नहीं दिखती हैं.
शुरू करने से पहले
- मैप आईडी बनाएं
क्लाउड-आधारित मैप स्टाइल का इस्तेमाल करने के लिए, आपके मैप को मैप आईडी का इस्तेमाल करके लोड करना ज़रूरी है. - हार्ड-कोड की गई स्टाइल से अपडेट करना
हार्ड-कोड की गई स्टाइल, जैसे कि JSON या यूआरएल क्वेरी पैरामीटर की मदद से कस्टमाइज़ किए गए मौजूदा मैप पर क्लाउड-आधारित मैप स्टाइल का इस्तेमाल करने के लिए, मैप आईडी जोड़ने से पहले, हार्ड कोड की गई स्टाइलिंग हटाएं. इससे आने वाले समय में सुविधाओं के साथ कोई टकराव होने से बचा जा सकता है. आपके पास
अपनी JSON स्टाइल को मैप की नई स्टाइल में इंपोर्ट करने का विकल्प मौजूद है.
- Android पर,
MapStyleOptions
को अपडेट करें - iOS पर,
GMSMapStyle
क्लास अपडेट करें - JavaScript पर,
MapTypeStyle
स्टाइल हटाएं - Maps स्टैटिक में,
style
पैरामीटर हटाएं
- Android पर,
क्लाउड-आधारित मैप स्टाइल का इस्तेमाल करने के लिए, आपको Android के लिए Maps SDK टूल का 18.0.0 या उसके बाद का वर्शन इस्तेमाल करना होगा. साथ ही, Android रेंडरर के लिए, Maps SDK के सबसे नए वर्शन का इस्तेमाल करना होगा.
बिलिंग
क्लाउड-आधारित मैप स्टाइल का इस्तेमाल करने के लिए, मैप आईडी होना ज़रूरी है. Android के लिए Maps SDK टूल, iOS के लिए Maps SDK टूल, और JavaScript पर, मैप आईडी का इस्तेमाल करने पर, डाइनैमिक Maps SKU के बदले शुल्क लिया जाता है. Maps स्टैटिक एपीआई पर, मैप आईडी का इस्तेमाल करने पर, स्टैटिक Maps SKU पर शुल्क लगता है.
उदाहरण
Android
ApiDemos सैंपल ऐप्लिकेशन चलाने का तरीका
ApiDemos ऐप्लिकेशन का सैंपल चलाने के लिए, GitHub का सैंपल देखें
(Java
| Kotlin)
और CloudBasedMapStylingDemoActivity
डेमो देखें
(Java
| Kotlin).
आपको Java और Kotlin ऐप्लिकेशन का सैंपल मिल सकता है, जिसमें क्लाउड से Android मैप को स्टाइल देने का तरीका बताया गया है.
समस्याएं जिनके बारे में जानकारी है
आपका ऐप्लिकेशन ग्राहकों को डिलीवर होने के बाद, Google Cloud Console से, मैप आईडी वाले मैप के लिए पसंद के मुताबिक बनाई गई स्टाइल अपडेट की जा सकती हैं. नई स्टाइल कुछ ही घंटों में आपके ऐप्लिकेशन में दिखने लगेगी.
यह पक्का करने के लिए कि टेस्ट के मकसद से नई कस्टम स्टाइल तुरंत दिखें, अपने टेस्ट डिवाइस से ऐप्लिकेशन का डेटा मिटाएं. अपने डिवाइस से डेटा मिटाने के बारे में ज़्यादा जानकारी के लिए, Android सहायता - जगह खाली करना देखें.
ध्यान दें कि हर फ़ोन की सेटिंग अलग हो सकती हैं. ज़्यादा जानकारी के लिए, डिवाइस बनाने वाली कंपनी से संपर्क करें.
iOS
ApiDemos सैंपल ऐप्लिकेशन चलाने का तरीका
ApiDemos ऐप्लिकेशन का सैंपल देखने के लिए, GitHub का सैंपल
Google Maps सैंपल ऐप्लिकेशन देखें. साथ ही, CloudBasedMapStylingViewController
प्रोजेक्ट (Swift
| Objective-C के लिए GitHub सैंपल) देखें.
वैकल्पिक क्लाउड स्टाइलिंग CocoaPod या GitHub डेमो
नए सिरे से शुरुआत करने के बजाय, हमारे ऑब्जेक्टिव-सी सैंपल ऐप्लिकेशन को आज़माएं. इसमें, यहां क्लाउड से अपने iOS मैप को स्टाइल देने का तरीका बताया गया है.
बीटा डेमो ऐप्लिकेशन बनाएं
Xcode में, बनाने के लिए कंपाइल बटन दबाएं और फिर मौजूदा स्कीम चलाएं.
बिल्ड में एक गड़बड़ी दिखती है और आपसे SDKDemoAPIKey.h
फ़ाइल में एपीआई पासकोड डालने के लिए कहा जाता है.
अगर आपके पास अब तक एपीआई पासकोड नहीं है, तो Cloud Console पर प्रोजेक्ट सेट अप करने और एपीआई पासकोड पाने के लिए,
इन निर्देशों का पालन करें. Cloud Console पर कुंजी को कॉन्फ़िगर करते समय, अपने ऐप्लिकेशन के बंडल आइडेंटिफ़ायर की जानकारी दी जा सकती है, ताकि यह पक्का किया जा सके कि सिर्फ़ आपका ऐप्लिकेशन कुंजी का इस्तेमाल कर सकता है. SDK सैंपल ऐप्लिकेशन का डिफ़ॉल्ट बंडल आइडेंटिफ़ायर, com.example.GoogleMapsDemos
है.
SDKDemoAPIKey.h
फ़ाइल में बदलाव करें और अपने एपीआई पासकोड को kAPIKey कॉन्सटेंट की परिभाषा में चिपकाएं:
```
static NSString *const kAPIKey = @"YOUR_API_KEY";
```
अगर Xcode आपसे SDKDemoAPIKey.h
फ़ाइल को बदलाव करने के लिए अनलॉक करने का अनुरोध करता है, तो
अनलॉक करें को चुनें.
नीचे दी गई लाइन हटाएं:
```
#error Register for API Key and insert here.
```
प्रोजेक्ट बनाएं और चलाएं.
क्लाउड-आधारित मैप के स्टाइलिंग मैप का डेमो
CloudStyling
डेमो में, Google Cloud Console पर सेट स्टाइल का इस्तेमाल करके, मैप को स्टाइल देने का तरीका बताया गया है.
डेमो ऐप्लिकेशन लॉन्च होने पर, सूची के सबसे ऊपर मौजूद बीटा सैंपल सेक्शन में, मैप को पसंद के मुताबिक बनाने के डेमो पर क्लिक करें.
अलग-अलग मैप आईडी लोड करने का असर देखने के लिए, स्टाइल मैप पर क्लिक करें.
अपना स्टाइल ("स्टाइल मैप" > "नया मैप आईडी जोड़ें") भी जोड़ा जा सकता है. साथ ही, पसंद के मुताबिक बनाए गए मैप के साथ मैप का अपडेट देखा जा सकता है.
JavaScript
यह मैप आईडी का इस्तेमाल करके, पसंद के मुताबिक बनाया गया मैप लोड करने का बुनियादी उदाहरण है. इस मामले में, Maps के लोड होने पर JavaScript,
मैप आईडी 8e0a97af9386fef
का रेफ़रंस देता है. साथ ही, उस मैप आईडी से जुड़ी मौजूदा
मैप स्टाइल को अपने-आप लागू कर देता है.
TypeScript
function initMap(): void { new google.maps.Map( document.getElementById("map") as HTMLElement, { mapId: "8e0a97af9386fef", center: { lat: 48.85, lng: 2.35 }, zoom: 12, } as google.maps.MapOptions ); } declare global { interface Window { initMap: () => void; } } window.initMap = initMap;
JavaScript
function initMap() { new google.maps.Map(document.getElementById("map"), { mapId: "8e0a97af9386fef", center: { lat: 48.85, lng: 2.35 }, zoom: 12, }); } window.initMap = initMap;
सैंपल आज़माएं
Maps स्टैटिक एपीआई
मैप आईडी एक आइडेंटिफ़ायर होता है, जो मैप की किसी खास स्टाइल या सुविधा से जुड़ा होता है. मैप की स्टाइल कॉन्फ़िगर करें और उसे Google Cloud Console में मैप आईडी से जोड़ें. इसके बाद, जब कोड में किसी मैप आईडी का रेफ़रंस दिया जाता है, तो उससे जुड़े मैप की स्टाइल आपके ऐप्लिकेशन में दिखती है. बाद में किए जाने वाले स्टाइल के अपडेट आपके ऐप्लिकेशन में अपने-आप दिखने लगते हैं. इसके लिए, आपको खरीदारों को इसे अपडेट करने की ज़रूरत नहीं है.
अगर
style
पैरामीटर की मदद से पसंद के मुताबिक बनाए गए मौजूदा मैप के साथ क्लाउड-आधारित मैप स्टाइल का इस्तेमाल किया जा रहा है, तो उन्हें हटा दें, ताकि आने वाले समय में सुविधाओं में कोई रुकावट न आए.हमारे किसी वेब एपीआई का इस्तेमाल करने वाले नए या मौजूदा मैप में मैप आईडी जोड़ने के लिए,
map_id
के यूआरएल पैरामीटर को जोड़ें और उसे अपने मैप आईडी पर सेट करें. इस उदाहरण में, Maps स्टैटिक एपीआई का इस्तेमाल करके, मैप में मैप आईडी जोड़ने के बारे में बताया गया है.<img src="https://maps.googleapis.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY&zoom=13&size=600x300&maptype=roadmap&markers=color:blue%7Clabel:S%7C40.702147,-74.015794&markers=color:green%7Clabel:G%7C40.711614,-74.012318&markers=color:red%7Clabel:C%7C40.718217,-73.998284&key=YOUR_API_KEY&map_id=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />
-
क्लाउड-आधारित मैप स्टाइलिंग Android लाइट मोड पर उपलब्ध नहीं है.↩