Map Tiles एपीआई के साथ सेशन टोकन का इस्तेमाल करें

यूरोपियन इकनॉमिक एरिया (ईईए) के डेवलपर

सेशन टोकन, डेटा का एक हिस्सा (एक UUID) होता है. इसका इस्तेमाल REST कॉल में, सेशन की पहचान करने के लिए किया जाता है. सेशन, एक-दूसरे से जुड़े मैसेज एक्सचेंज की एक सीरीज़ होती है. आपको 2D टाइल और Street View की तस्वीरें के लिए किए गए सभी अनुरोधों में, सेशन टोकन शामिल करना होगा. इसे सभी अनुरोध यूआरएल में जोड़े गए session पैरामीटर की वैल्यू के तौर पर शामिल किया जाता है.

Map Tiles API में, सेशन टोकन, डिसप्ले के लिए तय किए गए विकल्पों के सेट को दिखाता है. इसका मतलब है कि आपको हर टाइल के अनुरोध के साथ डिसप्ले के विकल्पों का सेट पास करने की ज़रूरत नहीं है. एक ही सेशन टोकन का इस्तेमाल, कई क्लाइंट के लिए किया जा सकता है. फ़िलहाल, सेशन टोकन जारी होने के समय से दो हफ़्तों तक मान्य होता है. हालांकि, इसमें बदलाव हो सकता है. सेशन टोकन के खत्म होने का समय देखने के लिए, जवाब के मैसेज में मौजूद expiry फ़ील्ड देखें.

सेशन टोकन का अनुरोध

सेशन टोकन का अनुरोध करने के लिए, createSession एंडपॉइंट पर एचटीटीपीएस पोस्ट अनुरोध भेजें. इसका उदाहरण यहां दिया गया है. आपको Content-Type: application/json हेडर के साथ अनुरोध भेजना होगा.

curl -X POST -d '{
  "mapType": "streetview",
  "language": "en-US",
  "region": "US"
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/createSession?key=YOUR_API_KEY"

ज़रूरी फ़ील्ड

mapType

बुनियादी मैप का टाइप. यह वैल्यू इनमें से कोई एक हो सकती है:

roadmap
Google Maps के स्टैंडर्ड पेंट किए गए मैप टाइल.
satellite
सैटलाइट से ली गई तस्वीरें.
terrain
इलाके की इमेज. मैप टाइप के तौर पर terrain चुनने पर, आपको layerRoadmap लेयर टाइप भी शामिल करना होगा. इसके बारे में ज़रूरी नहीं हैं सेक्शन में बताया गया है.
streetview
Street View पैनोरमा. ज़्यादा जानकारी के लिए, Street View टाइलें लेख पढ़ें.
language

यह एक IETF भाषा टैग है. इससे यह तय होता है कि टाइल पर जानकारी दिखाने के लिए किस भाषा का इस्तेमाल किया जाएगा. उदाहरण के लिए, en-US से पता चलता है कि यह अमेरिका में बोली जाने वाली अंग्रेज़ी भाषा है.

region

यह Common Locale Data Repository का क्षेत्र आइडेंटिफ़ायर (दो कैपिटल लेटर) होता है. इससे उपयोगकर्ता की जगह की जानकारी मिलती है. उदाहरण के लिए, US.

वैकल्पिक फ़ील्ड

imageFormat
इससे यह तय होता है कि फ़ाइल किस फ़ॉर्मैट में वापस लाई जाएगी. मान्य वैल्यू, jpeg या png होनी चाहिए. JPEG फ़ाइलों में पारदर्शिता की सुविधा नहीं होती. इसलिए, इन्हें ओवरले टाइल के लिए इस्तेमाल करने का सुझाव नहीं दिया जाता. अगर आपने imageFormat नहीं दिया है, तो टाइल के लिए सबसे सही फ़ॉर्मैट अपने-आप चुना जाता है.
scale

यह डिफ़ॉल्ट टाइल के साइज़ और कवरेज एरिया को बनाए रखते हुए, मैप के एलिमेंट (जैसे कि सड़क के लेबल) के साइज़ को बड़ा करता है. स्केल बढ़ाने से, मैप पर लेबल की संख्या भी कम हो जाती है. इससे मैप पर मौजूद जानकारी साफ़ तौर पर दिखती है. ये वैल्यू, scale की मान्य वैल्यू हैं:

  • scaleFactor1x: डिफ़ॉल्ट वैल्यू.
  • scaleFactor2x: इससे लेबल का साइज़ दोगुना हो जाता है और छोटे-मोटे फ़ीचर लेबल हट जाते हैं.
  • scaleFactor4x: इससे लेबल का साइज़ चार गुना बढ़ जाता है और छोटे-मोटे फ़ीचर लेबल हट जाते हैं.

यहां दिए गए उदाहरणों में, मैप एलिमेंट को स्केल करने का असर दिखाया गया है.

स्केल फ़ैक्टर 1x स्केल फ़ैक्टर 2x
स्केल फ़ैक्टर 1x दिखाने वाला मैप मैप में स्केल फ़ैक्टर 2x दिखाया गया है
highDpi
इससे यह तय किया जाता है कि हाई रिज़ॉल्यूशन वाली टाइलें दिखानी हैं या नहीं. स्केल फ़ैक्टर बढ़ने पर, highDpi का इस्तेमाल टाइल का साइज़ बढ़ाने के लिए किया जाता है. आम तौर पर, स्केल फ़ैक्टर बढ़ाने से, नतीजे के तौर पर मिलने वाली टाइल, उसी साइज़ की इमेज में बड़ी हो जाती है. इससे क्वालिटी कम हो जाती है. highDpi का इस्तेमाल करने पर, इमेज का साइज़ भी बढ़ जाता है. हालांकि, इससे इमेज की क्वालिटी पर कोई असर नहीं पड़ता. डीपीआई का मतलब डॉट्स पर इंच होता है. हाई डीपीआई का मतलब है कि टाइल, सामान्य से ज़्यादा डॉट्स पर इंच का इस्तेमाल करके रेंडर होती है. अगर true है, तो x और y डाइमेंशन में पिक्सल की संख्या को स्केल फ़ैक्टर (यानी कि 2x या 4x) से गुणा किया जाता है. टाइल के कवरेज एरिया में कोई बदलाव नहीं होता. यह पैरामीटर, सिर्फ़ 2x या 4x की scale वैल्यू के साथ काम करता है. इसका असर, 1x स्केल वाली टाइलों पर नहीं पड़ता.
स्केल फ़ैक्टर 1x स्केल फ़ैक्टर 2x हाई डीपीआई
मैप को सामान्य रिज़ॉल्यूशन में दिखाया गया है मैप को 2x हाई डीपीआई रिज़ॉल्यूशन पर दिखाया गया है
layerTypes

यह वैल्यू का एक ऐसा कलेक्शन होता है जो मैप में जोड़ी गई लेयर के टाइप के बारे में बताता है. मान्य वैल्यू ये हैं:

layerRoadmap
अगर आपने मैप का टाइप के तौर पर terrain को चुना है, तो यह टैग ज़रूरी है. इसे satellite मैप टाइप पर भी वैकल्पिक तौर पर ओवरले किया जा सकता है. इसका रोडमैप टाइल पर कोई असर नहीं पड़ता.
layerStreetview
मैप पर नीले रंग की आउटलाइन का इस्तेमाल करके, Street View की सुविधा वाली सड़कों और जगहों को दिखाता है.
layerTraffic
इससे ट्रैफ़िक की मौजूदा स्थिति दिखती है.
styles

JSON स्टाइल ऑब्जेक्ट का एक कलेक्शन. इससे सड़कों, पार्कों, और रिहायशी इलाकों जैसी मैप की सुविधाओं के रंग-रूप और जानकारी के लेवल के बारे में पता चलता है. स्टाइलिंग का इस्तेमाल, Google के स्टैंडर्ड बुनियादी मैप को पसंद के मुताबिक बनाने के लिए किया जाता है. styles पैरामीटर सिर्फ़ तब मान्य होता है, जब मैप का टाइप roadmap हो. स्टाइल सिंटैक्स की पूरी जानकारी के लिए, स्टाइल रेफ़रंस देखें.

overlay

यह एक बूलियन वैल्यू है. इससे यह तय होता है कि layerTypes को अलग ओवरले के तौर पर रेंडर किया जाना चाहिए या इसे बेस इमेज के साथ जोड़ा जाना चाहिए. जब true होता है, तब बुनियादी मैप नहीं दिखता है. अगर आपने कोई layerTypes तय नहीं किया है, तो इस वैल्यू को अनदेखा कर दिया जाता है.

उदाहरण के लिए, layerRoadmap लेयर के साथ satellite मैप टाइप का अनुरोध करने पर, overlay को false पर सेट करने से, Maps JavaScript API (बाईं ओर दी गई इमेज) में इस्तेमाल किए गए hybrid मैप टाइप के बराबर टाइलें मिलती हैं. एक ही मैप और लेयर टाइप के लिए, overlay को true पर सेट करने से, मैप ओवरले के साथ पारदर्शी टाइल मिलती है. इसे सैटलाइट इमेज (दाईं ओर मौजूद इमेज) पर ओवरले करने के लिए, सही तरीके से स्टाइल किया गया है.

overlay: false overlay: true
ओवरले को 'गलत' पर सेट किया गया है ओवरले को 'सही' पर सेट किया गया है

यहां दिए गए JSON में, अनुरोध के मुख्य हिस्से का एक उदाहरण दिया गया है. इसमें ज़रूरी और ज़रूरी नहीं, दोनों तरह के फ़ील्ड शामिल हैं.

{
  "mapType": "satellite",
  "language": "en-US",
  "region": "us",
  "layerTypes": [ "layerRoadmap", "layerStreetview" ],
  "overlay":  true,
  "scale": "scaleFactor1x",
  "styles": [
    {
      "stylers": [
        { "hue": "#00ffe6" },
        { "saturation": -20 }
      ]
    },{
      "featureType": "road",
      "elementType": "geometry",
      "stylers": [
        { "lightness": 100 },
        { "visibility": "simplified" }
      ]
    }
  ]
}

इस उदाहरण में, ऐसा ओवरले दिया गया है जिसे सैटलाइट की इमेज के साथ इस्तेमाल किया जा सकता है. इस उदाहरण में, सड़क का नक्शा और स्ट्रीट व्यू ओवरले, दोनों शामिल हैं. इस मैप में नाम और डेटा, अंग्रेज़ी भाषा में रेंडर किया गया है. यह भाषा, अमेरिका में बोली जाती है.

सेशन टोकन रिस्पॉन्स

यहां JSON का एक उदाहरण दिया गया है.

{
  "session": "IgAAAHGU9jnAU4KOAfwY3Bcd6eH_WxQsyocSBAdUnAr9pnvTTNXtF9c_27RBo94ytEXTDg",
  "expiry": "1361828036",
  "tileWidth": 256,
  "tileHeight": 256,
  "imageFormat": "png"
}

यहां दी गई सूची में, रिस्पॉन्स बॉडी में मौजूद फ़ील्ड की परिभाषाएं दी गई हैं.

session
यह एक सेशन टोकन वैल्यू है. इसे आपको Map Tiles API के सभी अनुरोधों में शामिल करना होगा.
expiry
यह एक स्ट्रिंग है. इसमें वह समय (epoch के बाद से सेकंड में) होता है जब टोकन की समयसीमा खत्म हो जाती है. सेशन टोकन, बनाए जाने के समय से दो हफ़्तों तक मान्य होता है. हालांकि, इस नीति में बिना किसी सूचना के बदलाव किया जा सकता है.
tileWidth
पिक्सल में मेज़र की गई टाइल की चौड़ाई.
tileHeight
पिक्सल में मेज़र की गई टाइल की ऊंचाई.
imageFormat
इमेज का फ़ॉर्मैट, जो png या jpeg हो सकता है.