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

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

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

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

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

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

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

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

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

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

    फ़ॉर्म में, ये काम करें:

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

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

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

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

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

Android

MapView क्लास का इस्तेमाल करके, गतिविधि की लेआउट फ़ाइल में <fragment> एलिमेंट के ज़रिए अपना मैप आईडी जोड़ें. इसके अलावा, प्रोग्राम के हिसाब से 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 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=YOUR_MAP_ID&signature=YOUR_SIGNATURE" />

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

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

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

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

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