मैप आईडी बनाने का तरीका

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript वेब सेवा

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

मैप आईडी का इस्तेमाल करने वाली सुविधाओं और उनके बारे में ज़्यादा जानकारी के लिए, मैप आईडी के बारे में खास जानकारी देखें.

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

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

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

Cloud Console में मैप आईडी बनाने के लिए, यह तरीका अपनाएं:

  1. ज़रूरी अनुमतियों के साथ Cloud Console प्रोजेक्ट में साइन इन करें और उसे खोलें.

  2. Cloud Console में, Maps Management पेज पर जाएं.

  3. मैप आईडी बनाएं पर क्लिक करें.

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

  4. नया मैप आईडी बनाएं पेज पर, यह तरीका अपनाएं:

    1. नाम के लिए, मैप आईडी को कोई नाम दें.
    2. ज़रूरी नहीं: ब्यौरा के लिए, बताएं कि मैप आईडी का इस्तेमाल किस लिए किया जाता है.
    3. मैप टाइप के लिए, वह प्लैटफ़ॉर्म चुनें जिस पर आपको मैप आईडी का इस्तेमाल करना है. JavaScript चुनने पर, रास्टर (डिफ़ॉल्ट) या वेक्टर मैप टाइप भी चुनें. वेक्टर मैप के बारे में ज़्यादा जानने के लिए, वेक्टर मैप देखें.
    4. अपना नया मैप आईडी दिखाने के लिए, सेव करें पर क्लिक करें.

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

अगर क्लाउड पर मैप की स्टाइलिंग की सुविधाओं का इस्तेमाल किया जा रहा है, तो आपको अपने मैप आईडी से मैप की स्टाइल जोड़नी होगी. ज़्यादा जानकारी के लिए, मैप के किसी स्टाइल से मैप आईडी जोड़ना लेख पढ़ें.

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

Android

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

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

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

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

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

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

<com.google.android.gms.maps.MapView
    xmlns:map="http://schemas.android.com/apk/res-auto"
    ....
    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: "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:@"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 Static

अगर आपको किसी नए या मौजूदा मैप में मैप आईडी जोड़ना है, तो map_id यूआरएल पैरामीटर जोड़ें और उसे अपने मैप आईडी पर सेट करें. ऐसा तब करें, जब मैप में हमारे किसी वेब-सेवा एपीआई का इस्तेमाल किया जा रहा हो. इस उदाहरण में, Maps Static API का इस्तेमाल करके मैप में मैप आईडी जोड़ने का तरीका दिखाया गया है.

<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=MAP_ID&signature=YOUR_SIGNATURE" />

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

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