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

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

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

अपने 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 Static API)

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