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

सेशन टोकन, डेटा का एक हिस्सा (UUID) होता है. इसका इस्तेमाल, सेशन की पहचान करने के लिए, REST कॉल में किया जाता है. सेशन, एक-दूसरे से जुड़े मैसेज एक्सचेंज की सीरीज़ होती है. आपको 2D टाइल और स्ट्रीट व्यू की तस्वीरों के लिए किए गए सभी अनुरोधों में सेशन टोकन शामिल करना होगा. इसे सभी अनुरोध यूआरएल में जोड़े गए 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 हाई डीपीआई
सामान्य रिज़ॉल्यूशन में दिखाया गया मैप दोगुने हाई डीपीआई रिज़ॉल्यूशन में दिखाया गया मैप
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" }
      ]
    }
  ]
}

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

apiOptions: वैल्यू का कलेक्शन, जिसमें लागू करने के लिए अतिरिक्त विकल्प बताए गए हैं. इन विकल्पों का इस्तेमाल किया जा सकता है:

  • MCYJ5E517XR2JC - नए मैप स्टाइल के लिए ऑप्ट-इन करें. ऑप्ट-इन की अवधि के दौरान, आपके अनुरोधों को मौजूदा स्टाइल मिलेगा. ऐसा तब तक होगा, जब तक इस वैल्यू को तय नहीं किया जाता.

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

यहां दिया गया JSON, रिस्पॉन्स बॉडी का उदाहरण है.

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

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

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