मैप आईडी का इस्तेमाल करें

मैप आईडी, एक आइडेंटिफ़ायर है, जो किसी खास मैप स्टाइल या सुविधा से जुड़ा होता है. मैप की स्टाइल कॉन्फ़िगर करें और उसे Google Cloud Console में मैप आईडी के साथ असोसिएट करें. इसके बाद, जब अपने कोड में मैप आईडी का रेफ़रंस दिया जाता है, तो आपके ऐप्लिकेशन में उससे जुड़ा मैप का स्टाइल आपके ऐप्लिकेशन में दिखता है. इसके बाद, आपके ऐप्लिकेशन में स्टाइल में किए गए सभी अपडेट अपने-आप दिखने लगते हैं. इसके लिए, ग्राहकों को कोई अपडेट नहीं करना पड़ता.

बनाने के बाद, मैप आईडी किसी प्रोजेक्ट से जुड़े होते हैं और उन्हें एक ही प्लैटफ़ॉर्म (Android, iOS, JavaScript) या Maps स्टैटिक एपीआई तक भी सीमित कर दिया जाता है.

अपने Cloud Console में कोई भी मैप आईडी बनाने या उसे मैनेज करने के लिए, आपके पास प्रोजेक्ट के मालिक या प्रोजेक्ट एडिटर का IAM रोल होना चाहिए.

ज़रूरी अनुमतियां

किसी Google Cloud प्रोजेक्ट में कोई मैप आईडी या मैप का स्टाइल बनाने या मैनेज करने के लिए, आपके पास प्रोजेक्ट में मालिक या एडिटर की IAM भूमिका होनी चाहिए.

मैप आईडी बनाएं

मैप आईडी एक यूनीक आइडेंटिफ़ायर है, जो Google Maps का एक इंस्टेंस बताता है. आप जब चाहें, Cloud Console में मैप आईडी बना सकते हैं और मैप आईडी से जुड़ी स्टाइल को अपडेट कर सकते हैं.

मैप आईडी बनाने के लिए:

  1. Cloud Console में, Maps मैनेजमेंट पेज पर जाएं.
  2. नया मैप आईडी बनाएं दिखाने के लिए, नया मैप आईडी बनाएं चुनें.
    नया मैप आईडी बनाएं

    फ़ॉर्म में, ये चीज़ें करें:

    • मैप का नाम डालें.
    • मैप का टाइप या प्लैटफ़ॉर्म बताएं.
    • JavaScript मैप के लिए, रास्टर या वेक्टर मैप टाइप चुनें.
    • मैप का ब्यौरा डालें.
    • नया मैप आईडी देखने के लिए आगे बढ़ें चुनें.

मैप आईडी को मैप की स्टाइल से जोड़ना

इन निर्देशों का पालन करने के लिए, यह माना जाता है कि आपके प्रोजेक्ट में मैप की कम से कम एक शैली मौजूद है.

  1. Cloud Console में, Maps मैनेजमेंट पेज पर जाएं.
  2. इस पेज पर, मैप का नाम कॉलम से कोई मौजूदा मैप आईडी चुनें.
  3. इस फ़ॉर्म के नीचे, इस मैप आईडी से जुड़े मैप के स्टाइल ड्रॉपडाउन से कोई मैप स्टाइल चुनें.
  4. सेव करें चुनें.
    स्क्रीनशॉट में, एक मैप आईडी का ब्यौरा वाला पेज दिख रहा है. इसमें ड्रॉपडाउन फ़ील्ड शामिल है, जिससे उपयोगकर्ता इस मैप आईडी के साथ मैप स्टाइल जोड़ सकते हैं.

अपने ऐप्लिकेशन में मैप आईडी जोड़ें

Android

गतिविधि की लेआउट फ़ाइल में, <fragment> एलिमेंट की मदद से अपना मैप आईडी जोड़ें. इसके लिए, MapView क्लास का इस्तेमाल करें या GoogleMapOptions क्लास का इस्तेमाल करके, प्रोग्राम के ज़रिए अपनी मैप आईडी जोड़ें.

उदाहरण के लिए, मान लें कि आपने एक मैप आईडी बनाया है, जिसे res/values/strings.xml में map_id नाम के स्ट्रिंग वैल्यू के तौर पर सेव किया गया है:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="map_id">YOUR_MAP_ID</string>
</resources>

गतिविधि की लेआउट फ़ाइल में जोड़े गए <fragment> एलिमेंट के लिए, कस्टम स्टाइल वाले सभी मैप फ़्रैगमेंट को map:mapId एट्रिब्यूट में मैप आईडी की जानकारी देनी होगी:

<fragment xmlns:map="http://schemas.android.com/apk/res-auto"
    class="com.google.android.gms.maps.SupportMapFragment"
    …
    map:mapId="@string/map_id" />

मैप आईडी की जानकारी देने के लिए, आप MapView क्लास के map:mapId एट्रिब्यूट का इस्तेमाल भी कर सकते हैं:

<com.google.android.gms.maps.MapView
    xmlns:android="http://schemas.android.com/apk/res/android"
    ....
    map:mapId="@string/map_id" />

मैप आईडी को प्रोग्राम के तौर पर तय करने के लिए, इसे GoogleMapOptions क्लास का इस्तेमाल करके MapFragment इंस्टेंस में पास करें:

Java

 MapFragment mapFragment = MapFragment.newInstance(
     new GoogleMapOptions()
         .mapId(getResources().getString(R.string.map_id)));

Kotlin

 val mapFragment = MapFragment.newInstance(
     GoogleMapOptions()
         .mapId(resources.getString(R.string.map_id))
 )

Android Studio में, सामान्य तरीके से अपना ऐप्लिकेशन बनाएं और चलाएं. पहले चरण में कॉन्फ़िगर की गई कस्टम स्टाइल, आईडी के साथ सभी मैप पर लागू होंगी.

iOS

मैप आईडी का इस्तेमाल करके, मैप को इंस्टैंशिएट करने के लिए, ये कार्रवाइयां करें:

  1. Cloud Console से मैप आईडी स्ट्रिंग की मदद से GMSMapID बनाएं.
  2. हाल ही में बनाए गए मैप आईडी के बारे में बताने वाला GMSMapView बनाएं.

Swift

let camera = GMSCameraPosition(latitude: 47.0169, longitude: -122.336471, zoom: 12)
let mapID = GMSMapID(identifier: "<YOUR MAP ID>")
let mapView = GMSMapView(frame: .zero, mapID: mapID, camera: camera)
self.view = mapView

Objective-C

GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:47.0169
                                                        longitude:-122.336471
                                                             zoom:12];
GMSMapID *mapID = [GMSMapID mapIDWithIdentifier:@"<YOUR MAP ID>"];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero mapID:mapID camera:camera];
self.view = mapView;

खुद के मैप आईडी का इस्तेमाल करने पर, Cloud Console में अपना मैप आईडी सेट करके, किसी भी समय नया स्टाइल बनाया जा सकता है. आपके और उपयोगकर्ताओं के छह सेकंड के अंदर यह स्टाइल, आपके मैप व्यू में अपने-आप दिखने लगेगा.

अगर आपको ये बदलाव तुरंत देखने हैं, तो ऐप्लिकेशन को बंद करके, ऐप्लिकेशन को बंद करके रीस्टार्ट करें. ऐसा करने के लिए, हाल ही में इस्तेमाल किए गए ऐप्लिकेशन की सूची देखें और फिर से खोलें. इसके बाद, अपडेट किया गया मैप दिखेगा.

JavaScript

अपने ऐप्लिकेशन कोड में मैप आईडी का इस्तेमाल करके मैप बनाने के लिए:

  1. अगर आपने फ़िलहाल अपने मैप को, एम्बेड किए गए JSON कोड की मदद से पसंद के मुताबिक बनाया है, तो अपने MapOptions ऑब्जेक्ट से styles प्रॉपर्टी हटाएं. अगर ऐसा नहीं है, तो यह चरण छोड़ दें.

  2. mapId प्रॉपर्टी का इस्तेमाल करके मैप पर मैप आईडी जोड़ें. उदाहरण के लिए:

map = new google.maps.Map(document.getElementById('map'), {
center: {lat: -34.397, lng: 150.644},
zoom: 8,
mapId: 'MAP_ID'
});

Maps स्टैटिक

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

न्यूयॉर्क के न्यूयॉर्क शहर में ब्रुकलिन ब्रिज पर केंद्रित मैप, जिसमें नीचे दाएं कोने में मैप नियंत्रण हैं. इस मैप में सड़कों, पानी, और ज़मीन पर पसंद के मुताबिक स्टाइल दिखाया जाता है.

अगर आपके पास, अपना मैप आईडी जोड़ने से पहले, Maps पर मौजूद स्टैटिक यूआरएल में डिजिटल हस्ताक्षर है, तो आपको अपना मैप आईडी जोड़ने के बाद नया डिजिटल हस्ताक्षर बनाना और जोड़ना होगा. अपना नया यूआरएल साइनिंग सीक्रेट जनरेट करते समय, यूआरएल से अपना पिछला डिजिटल हस्ताक्षर हटाना न भूलें.

मैप आईडी का इस्तेमाल करते समय उपलब्ध सुविधाएं

क्लाउड पर आधारित मैप की स्टाइल: Google Cloud Console का इस्तेमाल करके, अपने मैप को स्टाइल दें, पसंद के मुताबिक बनाएं, और मैनेज करें.
यह सुविधा सभी प्लैटफ़ॉर्म (Android, JavaScript, iOS, और Maps स्टैटिक एपीआई) पर उपलब्ध है

वेक्टर मैप: वेक्टर-आधारित टाइल से बना मैप, जो WebGL का इस्तेमाल करके, क्लाइंट साइड पर लोड समय पर बनाया जाता है.
JavaScript पर उपलब्ध है