स्ट्रीट व्यू टाइल

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

Street View टाइल का उदाहरण

Street View टाइलें, 2D टाइल की तरह ही होती हैं. हालांकि, इनमें स्ट्रीट लेवल पर ली गई पैनोरमिक इमेज होती हैं. Street View की मदद से, दुनिया भर की मशहूर जगहों के बारे में ज़्यादा जानें और कुदरत की हैरान कर देने वाली खूबसूरती देखें. साथ ही, संग्रहालयों, अरीना, रेस्टोरेंट, और छोटे कारोबार को अंदर से देखें. इस एपीआई एंडपॉइंट से, आपको इनका ऐक्सेस मिलता है:

  • Google Maps Street View Tiles
  • Street View का मेटाडेटा
  • Street View के थंबनेल

स्ट्रीट लेवल से ली गई इमेज टाइल को एक साथ जोड़कर, पैनोरमिक इफ़ेक्ट बनाया जा सकता है. इसके अलावा, किसी जगह (जैसे कि कोई रास्ता) के लिए, ज़्यादा से ज़्यादा 100 पैनोरमा आईडी के बारे में क्वेरी की जा सकती है. साथ ही, कैमरे की पोज़िशन के बारे में ज़्यादा जानकारी वाला मेटाडेटा पाया जा सकता है.

Street View टाइल को एक साथ जोड़ने के लिए, व्यूअर की ज़रूरत होती है. उदाहरण के लिए, Street View कस्टम पैनोरमा व्यूअर.

एपीआई कुंजी मिलने के बाद, Street View की तस्वीरें ऐक्सेस की जा सकती हैं. इसके लिए, यह तरीका अपनाएं.

  1. सेशन टोकन पाएं. mapType एट्रिब्यूट की वैल्यू को streetview पर सेट करना न भूलें.

  2. सेशन टोकन का इस्तेमाल करके, एक या एक से ज़्यादा जगहों के पैनोरमा आइडेंटिफ़ायर (panoId) पाएं.

  3. panoId की खोज के जवाब में मिले पैनोरामा आइडेंटिफ़ायर का इस्तेमाल करके, ये पाएं:

    1. Street View का मेटाडेटा. निर्देशांकों और दायरे का सेट पास करके भी, Street View का मेटाडेटा पाया जा सकता है.

    2. Street View के थंबनेल.

    3. Street View Tiles.

Street View के तरीके

यहां दिए गए चार तरीकों में से किसी एक का इस्तेमाल करके, Street View की तस्वीरें और मेटाडेटा को ऐक्सेस किया जा सकता है.

तरीका ब्यौरा
https://tile.googleapis.com/v1/streetview/tiles यह फ़ंक्शन, Street View की अलग-अलग टाइल दिखाता है. स्ट्रीट व्यू टाइलें, छह ज़ूम लेवल पर वापस पाई जा सकती हैं: 512 पिक्सल से लेकर 13,312 पिक्सल तक.
https://tile.googleapis.com/v1/streetview/panoIds इस सुविधा की मदद से, ज़्यादा से ज़्यादा 100 जगहों की जानकारी एक साथ खोजी जा सकती है. यह फ़ंक्शन, इमेज वाली सभी जगहों के लिए पैनोरमा आईडी दिखाता है.
https://tile.googleapis.com/v1/streetview/thumbnail यह फ़ंक्शन, Street View सीन की थंबनेल JPEG इमेज दिखाता है. इसकी मदद से, हेडिंग, पिच, डाइमेंशन, और फ़ील्ड ऑफ़ व्यू दिया जा सकता है. कम से कम डाइमेंशन 16x16 पिक्सल होने चाहिए. ज़्यादा से ज़्यादा डाइमेंशन 250x600 पिक्सल होने चाहिए.
https://tile.googleapis.com/v1/streetview/metadata इससे चुने गए पैनोरामा के बारे में ज़्यादा जानकारी मिलती है. जानकारी में, आस-पास के पते और आस-पास के पैनोरमा के लिंक शामिल होते हैं.

एक या उससे ज़्यादा जगहों के पैनोरमा आइडेंटिफ़ायर पाने के लिए, panoIds तरीके का इस्तेमाल करके उनके निर्देशांक (lat, lng) पास करें. अनुरोध का मुख्य हिस्सा एक JSON ऑब्जेक्ट होता है. इसमें locations ऐरे और शामिल होता है. हालांकि, radius को शामिल करना ज़रूरी नहीं है. यहां दिए गए JSON कोड के उदाहरण में, अनुरोध का मुख्य हिस्सा दिखाया गया है.

curl -X POST -d '{
  "locations": [
    {"lat": -33.883837, "lng": 151.209307},
    {"lat": -33.883700, "lng": 151.210307},
    {"lat": 0, "lng": 0}
  ],
  "radius": 50
}' \
-H 'Content-Type: application/json' \
"https://tile.googleapis.com/v1/streetview/panoIds?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY"
locations
locations ऐरे में कम से कम एक सेट कोऑर्डिनेट वैल्यू होनी चाहिए. हालांकि, इसमें ज़्यादा से ज़्यादा 100 सेट कोऑर्डिनेट वैल्यू शामिल की जा सकती हैं.
radius
radius वैल्यू (मीटर में मेज़र की जाती है) से, दी गई जगह के आस-पास के उस सर्कल का दायरा तय होता है जिसमें पैनोरमा खोजे जाते हैं. डिफ़ॉल्ट वैल्यू 50 मीटर होती है.

PanoId रिस्पॉन्स

Map Tiles API, हर जगह के सबसे नज़दीकी पैनोरमा को ढूंढता है. इसके बाद, यह उनके पैनोरमा आईडी दिखाता है. panoIds का अनुरोध पूरा होने पर, एक JSON ऑब्जेक्ट मिलता है. इसमें panoIds ऐरे होता है. इस ऐरे में, पैनोरमा आईडी की सूची होती है. इन्हें उस क्रम में रखा जाता है जिस क्रम में आपने इनका अनुरोध किया था. अगर Map Tiles API को आपकी चुनी गई जगहों के लिए कोई पैनोरमा नहीं मिलता है, तो उस जगह के लिए ऐरे में एक खाली स्ट्रिंग दिखाई जाती है. उदाहरण के लिए, यहां दिया गया JSON कोड देखें.

{
  "panoIds": [
    "ACfH-n2HcBvRry_3oc9grw",
    "f5DJZatBAAAXHlooS2wKbw",
    ""
  ]
}

panoIds का इस्तेमाल इन कामों के लिए किया जा सकता है:

Street View का मेटाडेटा

Street View मेटाडेटा के अनुरोधों से, पैनोरमा के बारे में जानकारी मिलती है. Street View मेटाडेटा का अनुरोध, एचटीटीपीएस जीईटी अनुरोध होता है. पैनोरमा के बारे में जानकारी पाने के लिए, इनमें से कोई एक तरीका अपनाएं:

  • अगर आपने pano_id पास किया है, तो Map Tiles API उस पैनोरमा के लिए मेटाडेटा दिखाता है.

  • हालांकि, अगर lat और lng पास किया जाता है, तो Map Tiles API, खोज के लिए तय किए गए दायरे में मौजूद सबसे नज़दीकी पैनोरमा का मेटाडेटा दिखाता है.

निर्देशांकों का सेट और रेडियस पास करना

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=lat&lng=lng&radius=meters"

पैनोरमा आईडी कुछ समय के लिए ही उपलब्ध होते हैं. इसलिए, हमारा सुझाव है कि Street View के मेटाडेटा के शुरुआती अनुरोध में, निर्देशांकों का एक सेट और radius वैल्यू पास करें. उदाहरण के लिए, यहां दिया गया कोड स्निपेट देखें.

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&lat=47.62066&lng=-122.34923&radius=50"

Street View इमेज का panoId पास करें

curl "https://tile.googleapis.com/v1/streetview/metadata?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

मेटाडेटा का जवाब

यहां दिया गया JSON कोड, मेटाडेटा के सामान्य जवाब का उदाहरण है.

{
 "panoId": "rZ9KeTyhA11i0VppYNzsSg",
 "lat": 37.420864219339165,
 "lng": -122.08446528377291,
 "imageHeight": 6656,
 "imageWidth": 13312,
 "tileHeight": 512,
 "tileWidth": 512,
 "heading": 94.35,
 "tilt": 88.39652,
 "roll": 1.7181772,
 "imageryType": "outdoor",
 "date": "2023-01",
 "copyright": "© 2023 Google",
 "reportProblemLink": "https://cbks0.googleapis.com/cbk?output=report&panoid=rZ9KeTyhA11i0VppYNzsSg&cb_client=api&cbp=1,0,,0,0&hl=en-US&gl=us",
 "addressComponents": [
  {
   "longName": "United States",
   "shortName": "United States",
   "types": [
    "country"
   ]
  },
  {
   "longName": "Mountain View, California",
   "shortName": "Mountain View, California",
   "types": [
    "locality"
   ]
  },
  {
   "longName": "Charleston Rd",
   "shortName": "Charleston Rd",
   "types": [
    "route"
   ]
  },
  {
   "longName": "1635",
   "shortName": "1635",
   "types": [
    "street_number"
   ]
  }
 ],
 "links": [
  {
   "panoId": "Yw4pqzA4FEq1qs-BwZSvSQ",
   "heading": 274.47998046875,
   "text": "Charleston Rd"
  },
  {
   "panoId": "1cODYwFRw1aZ45IignDIMw",
   "heading": 94.47999572753906,
   "text": "Charleston Rd"
  }
 ]
}

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

panoId
इस पैनोरमा का यूनीक आईडी. आपको यह नहीं मानना चाहिए कि पैनोरमा आईडी, एक उपयोगकर्ता सेशन से ज़्यादा समय तक मान्य रहेंगे.
lat, lng
पैनोरामा के कोऑर्डिनेट (अक्षांश और देशांतर). ये वैल्यू, अनुरोध में पास किए गए निर्देशांकों से अलग हो सकती हैं. ऐसा इसलिए है, क्योंकि जगह की जानकारी, सबसे नज़दीकी पैनोरमा पर स्नैप होती है.
imageHeight, imageWidth
स्टिच की गई पैनोरमा इमेज के डाइमेंशन.
tileHeight, tileWidth
एक पैनोरमा टाइल के डाइमेंशन.
heading
कंपास की हेडिंग, जिसे उत्तर से घड़ी की सुई की दिशा में डिग्री में मापा जाता है. हेडिंग को [0,360] की रेंज में दिखाया जाता है. इसमें 0 का मतलब उत्तर की ओर है.
tilt
पैनोरामा का झुकाव. इसे पैनोरामा के साउथ पोल से लेकर होराइज़न तक डिग्री में मापा जाता है. दिखाई गई वैल्यू, [0, 180] की रेंज में होती हैं. 90 डिग्री की वैल्यू से पता चलता है कि पैनोरमा का हॉरिज़ॉन, इक्वेटर के साथ पहले से ही अलाइन है.
roll
हॉरिज़न को लेवल करने के लिए, पैनोरामा को लाइन ऑफ़ साइट के चारों ओर घड़ी की सुई की दिशा में घुमाया गया. यह [0, 360] की रेंज में वैल्यू दिखाता है.
imageryType
इससे इमेज के टाइप के बारे में पता चलता है. indoor और outdoor को वैल्यू के तौर पर इस्तेमाल किया जा सकता है.
date
इमेज लेने की तारीख. सभी इमेज में तारीख का डेटा मौजूद नहीं है. हालांकि, जब यह उपलब्ध होता है, तब इस फ़ील्ड में साल (YYYY) और महीने (MM) का कॉम्बिनेशन होता है. उदाहरण के लिए: 2023-05 या 2024.
copyright
कॉपीराइट टेक्स्ट, जिसे आपको Street View इमेज के साथ एट्रिब्यूशन के तौर पर दिखाना होगा.
reportProblemLink
आपके उपयोगकर्ताओं के लिए एक हाइपरलिंक. इसका इस्तेमाल करके, वे इस स्ट्रीट व्यू टाइल से जुड़ी समस्याओं की शिकायत कर सकते हैं. आपको इस हाइपरलिंक को इमेज के सबसे नीचे दाएं कोने में दिखाना होगा. साथ ही, इसमें ऐसा लिंक टेक्स्ट शामिल होना चाहिए जिसमें लिखा हो, "इस इमेज से जुड़ी समस्या की शिकायत करें".
addressComponent
स्ट्रक्चर्ड Geocode, जिसमें पैनोरमा के पते के बारे में जानकारी होती है. ज़्यादा जानकारी के लिए, Geocoding API के दस्तावेज़ में जियोकोडिंग के अनुरोध और जवाब देखें.
links
इस पैनोरमा से लिंक किए गए पैनोरमा आईडी की सूची. इसमें वह हेडिंग भी शामिल होती है जिस पर लिंक मौजूद है. उदाहरण के लिए, अगर हेडिंग 180° है, तो लिंक किया गया पैनोरमा, मौजूदा पैनोरमा के ठीक दक्षिण में होगा. ध्यान दें कि पैनोरमा आईडी कुछ समय के लिए ही उपलब्ध होते हैं. इसलिए, आपको एक से ज़्यादा उपयोगकर्ता सेशन के लिए इन पर भरोसा नहीं करना चाहिए.

Street View के थंबनेल

thumbnail फ़ॉर्मैट में Street View की तस्वीरें पाने का अनुरोध किया जा सकता है. थंबनेल, टाइल वाली इमेज नहीं होती हैं. इनका साइज़, हेडिंग, पिच, और फ़ील्ड ऑफ़ व्यू, उपयोगकर्ता तय करता है. थंबनेल इमेज का रिज़ॉल्यूशन, टाइल इमेज के मुकाबले कम होता है. साथ ही, इनका फ़ाइल साइज़ भी छोटा होता है. थंबनेल का अनुरोध करने के लिए, thumbnail एंडपॉइंट को GET अनुरोध भेजा जाता है. इसे यहां दिए गए कोड प्रोटोटाइप में दिखाया गया है.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId&height=FROM_16_TO_250&width=FROM_16_TO_600&pitch=FROM-90_TO_90&yaw=FROM-360_TO_360&fov=FROM_30_TO_120"

यहां दिए गए कोड के उदाहरण पर ध्यान दें. इसमें कनाडा के व्हिसलर में ली गई Street View की इमेज का थंबनेल डाउनलोड किया गया है.

curl "https://tile.googleapis.com/v1/streetview/thumbnail?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=Zzl28rqGJgaL2IdkUleP8A&height=200&width=200&pitch=0&yaw=250&fov=80" --output /tmp/example_thumbnail.png

कनाडा के व्हिसलर की Street View इमेज का थंबनेल

ज़रूरी पैरामीटर

panoId
उस थंबनेल का यूनीक आईडी जो आपको चाहिए. आपको पैनोरमा आईडी की वैल्यू, panoIds एंडपॉइंट या metadata एंडपॉइंट से मिल सकती हैं. ये दोनों एंडपॉइंट, भौगोलिक निर्देशांक स्वीकार करते हैं और सही panoId दिखाते हैं.
session
मान्य सेशन टोकन.
key
आपका एपीआई पासकोड.

ज़रूरी नहीं पैरामीटर

height
इससे थंबनेल की ऊंचाई पिक्सल में तय की जाती है. यह 16 पिक्सल से लेकर 250 पिक्सल तक हो सकती है. अगर आपने ऊंचाई नहीं बताई है, तो ऊंचाई डिफ़ॉल्ट रूप से 250 पिक्सल पर सेट हो जाएगी. यह ऊंचाई की ज़्यादा से ज़्यादा वैल्यू है. अगर आपने कोई ऐसी वैल्यू डाली है जो रेंज से बाहर है, तो थंबनेल, सबसे नज़दीकी मान्य वैल्यू पर स्नैप हो जाएगा.
width
इस विकल्प का इस्तेमाल करके, थंबनेल की चौड़ाई पिक्सल में तय की जाती है. इसकी रेंज 16 पिक्सल से लेकर 600 पिक्सल तक होती है. अगर आपने चौड़ाई की जानकारी नहीं दी है, तो चौड़ाई डिफ़ॉल्ट रूप से 600 पिक्सल पर सेट हो जाती है. यह चौड़ाई की ज़्यादा से ज़्यादा वैल्यू है. अगर आपने कोई ऐसी वैल्यू डाली है जो रेंज से बाहर है, तो थंबनेल, सबसे नज़दीकी मान्य वैल्यू पर स्नैप हो जाएगा.
pitch
इससे वर्टिकल ऐक्सिस के साथ कैमरे का ऐंगल तय होता है. मान्य वैल्यू, -90 से 90 के बीच होनी चाहिए. इसमें ये भी शामिल हैं. डिफ़ॉल्ट वैल्यू 0 होती है.
yaw
इससे हॉरिज़ॉन्टल ऐक्सिस पर कैमरे की दिशा तय होती है. मान्य वैल्यू, -360 से 360 (दोनों शामिल हैं) के बीच होनी चाहिए. डिफ़ॉल्ट वैल्यू 0 होती है.
fov
यह हॉरिज़ॉन्टल फ़ील्ड ऑफ़ व्यू के बारे में बताता है. इसे डिग्री में दिखाया जाता है. इसकी ज़्यादा से ज़्यादा वैल्यू 120 होती है. जब किसी तय साइज़ के व्यूपोर्ट के साथ काम किया जाता है, तब फ़ील्ड ऑफ़ व्यू, ज़ूम को दिखाता है. जैसे, किसी तय साइज़ की स्ट्रीट व्यू इमेज. इसमें छोटी वैल्यू, ज़्यादा ज़ूम लेवल को दिखाती हैं. डिफ़ॉल्ट वैल्यू 90 होती है.

Street View की इमेज टाइल

panoId मिलने के बाद, Street View की इमेज टाइल का अनुरोध किया जा सकता है. टाइल के अनुरोध, एचटीटीपीएस GET अनुरोध होते हैं. नीचे दिया गया उदाहरण देखें.

curl "https://tile.googleapis.com/v1/streetview/tiles/z/x/y?session=YOUR_SESSION_TOKEN&key=YOUR_API_KEY&panoId=panoId"

इस कोड के उदाहरण में, z ज़ूम करने का लेवल है. साथ ही, x और y, Street View की उस टाइल के टाइल कोऑर्डिनेट हैं जो आपको चाहिए. Street View पैनोरामा में ज़ूम लेवल, [0,5] की रेंज में होने चाहिए. इसमें 0 का मतलब सबसे ज़्यादा फ़ील्ड ऑफ़ व्यू होता है.

ज़ूम स्तर अनुमानित फ़ील्ड ऑफ़ व्यू (कैमरे से दिख रहा व्यू)
0 360°
1 180°
2 90°
3 45°
4 22.5°
5 11.25°

Street View Tiles के जवाब

Street View टाइल का अनुरोध पूरा होने पर, आपको उस फ़ॉर्मैट और साइज़ की इमेज मिलती है जिसे आपने createSession रिस्पॉन्स में तय किया था.

टाइल के अनुरोध को पूरा करने पर मिलने वाला नतीजा

ज़ूम करने का लेवल शून्य पर, पूरे पैनोरमा का साइज़ बदलकर tileWidth x tileHeight डाइमेंशन वाली टाइल में बदल जाता है. पैनोरामा, x डाइमेंशन में बड़े होते हैं. इसलिए, टाइल में y डाइमेंशन में खाली जगह होगी:

ज़ूम करने का लेवल शून्य

ज़ूम लेवल पांच पर, फ़ुल-साइज़ पैनोरामा का इस्तेमाल किया जाता है और इसे टाइल में बांटा जाता है.

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