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

मैप आईडी एक आइडेंटिफ़ायर होता है जो किसी मैप की स्टाइल या सुविधा से जुड़ा होता है. मैप की स्टाइल कॉन्फ़िगर करें और उसे 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 Static API)

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