क्लाउड-आधारित मैप की स्टाइल

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 के लिए Maps SDK टूल को अपग्रेड करें
क्लाउड-आधारित मैप स्टाइल का इस्तेमाल करने के लिए, आपको 18.0.0 या Android के लिए Maps SDK टूल का 18.0.0 या उसके बाद का वर्शन इस्तेमाल करना होगा. साथ ही, Android रेंडरर के लिए Maps SDK का सबसे नया वर्शन इस्तेमाल करना होगा.

बिलिंग

क्लाउड-आधारित मैप की स्टाइलिंग का इस्तेमाल करने के लिए, मैप आईडी होना ज़रूरी है. Android के लिए Maps SDK टूल, iOS के लिए Maps SDK टूल, और JavaScript में, मैप आईडी का इस्तेमाल करने पर, डाइनैमिक Maps SKU के लिए शुल्क लगता है. Maps स्टैटिक API पर, मैप आईडी का इस्तेमाल करने पर, स्टैटिक Maps SKU पर शुल्क लगता है.

उदाहरण

Android

ApiDemos नमूना ऐप्लिकेशन चलाएं

ApiDemos सैंपल ऐप्लिकेशन चलाने के लिए, GitHub सैंपल (Java | Kotlin) देखें और CloudBasedMapStylingDemoActivity डेमो देखें (Java | Kotlin).

Java और Kotlin ऐप्लिकेशन का सैंपल देखें, जो क्लाउड से आपके Android मैप को स्टाइल देने का तरीका बताता है.

समस्याएं जिनके बारे में जानकारी है

आपका ऐप्लिकेशन ग्राहकों को डिलीवर होने के बाद, Google Cloud Console से मैप आईडी वाले मैप की कस्टम स्टाइल अपडेट की जा सकती हैं. नई स्टाइल कुछ ही घंटों में आपके ऐप्लिकेशन में दिखने लगेंगी.

यह पक्का करने के लिए कि जांच के लिए नई कस्टम स्टाइल तुरंत दिखें, अपने टेस्ट डिवाइस से ऐप्लिकेशन का डेटा मिटाएं. अपने डिवाइस से डेटा मिटाने के बारे में ज़्यादा जानकारी पाने के लिए, Android सहायता - जगह खाली करना देखें.

ध्यान दें कि फ़ोन के हिसाब से सेटिंग अलग-अलग हो सकती हैं. ज़्यादा जानकारी के लिए, डिवाइस बनाने वाली कंपनी से संपर्क करें.

iOS

ApiDemos नमूना ऐप्लिकेशन चलाएं

ApiDemos सैंपल ऐप्लिकेशन चलाने के लिए, GitHub सैंपल Googleमैप सैंपल ऐप्लिकेशन देखें और CloudBasedMapStylingViewController प्रोजेक्ट (Swift के लिए GitHub सैंपल | Objective-C) देखें.

क्लाउड स्टाइलिंग CocoaPod या GitHub का डेमो देना ज़रूरी नहीं है

नए सिरे से शुरुआत करने के बजाय, आप हमारे Objective-C सैंपल ऐप्लिकेशन को आज़मा सकते हैं. इसमें, यहां दिए गए क्लाउड से अपने 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 में मौजूद मैप आईडी से जोड़ें. इसके बाद, जब अपने कोड में किसी मैप आईडी का रेफ़रंस दिया जाता है, तो उससे जुड़े मैप की स्टाइल आपके ऐप्लिकेशन में दिखती है. बाद में किए जाने वाले स्टाइल के अपडेट, आपके ऐप्लिकेशन में अपने-आप दिखने लगते हैं. इसके लिए, आपके ग्राहकों को इसे अपडेट करने की ज़रूरत नहीं होती.

  1. अगर क्लाउड-आधारित मैप की स्टाइल का इस्तेमाल किसी ऐसे मौजूदा मैप के साथ किया जा रहा है जिसे style पैरामीटर की मदद से पसंद के मुताबिक बनाया गया है, तो इन्हें हटा दें. ऐसा करने से, आने वाले समय में इनके फ़ंक्शन पर कोई असर नहीं पड़ेगा.

  2. हमारे किसी वेब एपीआई का इस्तेमाल करने वाले नए या मौजूदा मैप में मैप आईडी जोड़ने के लिए, 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" />
    


  1. क्लाउड-आधारित मैप की स्टाइलिंग Android के लाइट मोड पर उपलब्ध नहीं है.