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

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

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

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

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

सेशन टोकन का अनुरोध करने के लिए, createSession एंडपॉइंट पर एचटीटीपीएस POST अनुरोध भेजें. यहां दिया गया उदाहरण देखें. आपको 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 तय नहीं किया है, तो इस वैल्यू को अनदेखा कर दिया जाता है.

उदाहरण के लिए, satellite मैप टाइप का अनुरोध करने पर, layerRoadmap लेयर और 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" }
      ]
    }
  ]
}

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

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

यहां दिया गया JSON, रिस्पॉन्स के मुख्य हिस्से का एक उदाहरण है.

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

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

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