स्ट्रीट व्यू

प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

Google Maps के Street View की मदद से, दुनिया भर की जगहों को 360 डिग्री और सड़क के लेवल से देखा जा सकता है. दुनिया की मशहूर जगहों के बारे में जानें, प्राकृतिक अजूबों को देखें, किसी ट्रिप पर जाएं या अपने कारोबार के बाहरी हिस्से को दिखाएं.

खास जानकारी

Google Street View, कवरेज वाले पूरे इलाके में चुनिंदा सड़कों से 360 डिग्री के पैनोरमिक व्यू दिखाता है. SDK टूल की मदद से मिलने वाली कवरेज, iOS के लिए Google Maps ऐप्लिकेशन या https://maps.google.com/ की कवरेज जैसी ही है. Street View के बारे में जानकारी में जाकर, Street View के बारे में ज़्यादा पढ़ा जा सकता है. साथ ही, इंटरैक्टिव मैप पर उन इलाकों को देखा जा सकता है जहां Street View की सुविधा उपलब्ध है.

iOS के लिए Maps SDK टूल, Street View की सेवा उपलब्ध कराता है. इसकी मदद से, Google Maps के Street View में इस्तेमाल की गई तस्वीरों को ऐक्सेस किया जा सकता है और उनमें बदलाव किया जा सकता है. Street View इमेज, पैनोरमा के तौर पर दिखती हैं और इन्हें GMSPanoramaView टाइप के ऑब्जेक्ट, यानी Street View व्यूअर में देखा जा सकता है.

Street View पैनोरमा

Street View की हर पैनोरमा इमेज या इमेज का सेट, किसी एक जगह से 360-डिग्री का पूरा व्यू दिखाता है. इमेज, इक्वीरेक्टैंगल (प्लेट कारे) प्रोजेक्शन के मुताबिक होती हैं. इसमें 360 डिग्री का हॉरिज़ॉन्टल व्यू (पूरी तरह से चारों ओर) और 180 डिग्री का वर्टिकल व्यू (सीधे ऊपर से सीधे नीचे तक) होता है. इससे 360-डिग्री पैनोरमा बनता है, जिसमें स्फ़ीर पर एक प्रोजेक्शन दिखता है. साथ ही, इमेज को स्फ़ीर की दो-आयामी सतह पर दिखाया जाता है.

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

Street View का डेटा ऐक्सेस करना

Street View पैनोरमा की पहचान, मेटाडेटा के इनमें से किसी एक हिस्से से की जाती है:

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

panoramaID और coordinate, दोनों को GMSPanorama ऑब्जेक्ट की प्रॉपर्टी के तौर पर सेव किया जाता है. coordinate या panoramaID का इस्तेमाल करके, GMSPanoramaService से GMSPanorama का अनुरोध किया जा सकता है. इससे मिले ऑब्जेक्ट में, मेटाडेटा के दोनों हिस्से शामिल होंगे. साथ ही, आस-पास के पैनोरमा के लिंक का कलेक्शन भी शामिल होगा.

पैनोरमा की जगह सेट करना

निर्देशांक के आधार पर, Street View पैनोरमा की जगह सेट की जा सकती है.

  • moveNearCoordinate तरीका, निर्देशांक के आस-पास पैनोरमा फ़ोटो लेने का अनुरोध करता है.

  • moveNearCoordinate:radius का तरीका भी इसी तरह का है. हालांकि, इसकी मदद से निर्देशांक के आस-पास, मीटर में खोज का दायरा तय किया जा सकता है.

  • moveNearCoordinate:source तरीके से, सोर्स तय किया जा सकता है. अगर आपको Street View में सिर्फ़ बाहर के पैनोरमा देखने हैं, तो सोर्स का इस्तेमाल करें. डिफ़ॉल्ट रूप से, जगहों के पैनोरमा, अंदर या बाहर के होते हैं. ध्यान दें कि हो सकता है कि बताई गई जगह के लिए, आउटडोर पैनोरमा मौजूद न हों.

  • moveNearCoordinate:radius:source तरीके से, दायरा और सोर्स, दोनों की जानकारी दी जा सकती है.

Street View की तस्वीरें देखना

Street View व्यूअर जोड़ना

दर्शक जोड़ने का बुनियादी तरीका यह है:

  1. (एक बार) SDK टूल पाने, कुंजी पाने, और ज़रूरी फ़्रेमवर्क जोड़ने के लिए, शुरू करने का तरीका में दिए गए निर्देशों का पालन करें.
  2. ViewController बनाएं या अपडेट करें. अगर यह व्यू कंट्रोलर दिखने पर पैनोरमा दिखेगा, तो इसे loadView तरीके से बनाएं.
  3. GMSPanoramaView initWithFrame: तरीके का इस्तेमाल करके, GMSPanoramaView क्लास बनाएं और उसका उदाहरण दें. अगर इसका इस्तेमाल व्यू कंट्रोलर के एकमात्र व्यू के तौर पर किया जाना है, तो CGRectZero का इस्तेमाल मैप के फ़्रेम के तौर पर किया जा सकता है. इससे मैप का साइज़ अपने-आप बदल जाएगा.
  4. GMSPanoramaView ऑब्जेक्ट को व्यू कंट्रोलर के व्यू के तौर पर सेट करें, जैसे कि self.view = panoView;.
  5. moveNearCoordinate: जैसे किसी तरीके का इस्तेमाल करके, Street View इमेज की जगह की जानकारी सेट करें.

नीचे दिए गए उदाहरण में, किसी ऐप्लिकेशन में Street View व्यूअर जोड़ा गया है.

Swift

import GoogleMaps

class StreetView: UIViewController {

  override func loadView() {
    let panoView = GMSPanoramaView(frame: .zero)
    self.view = panoView

    panoView.moveNearCoordinate(CLLocationCoordinate2D(latitude: -33.732, longitude: 150.312))
  }
}
      

Objective-C

#import "StreetView.h"
@import GoogleMaps;

@interface StreetView ()

@end

@implementation StreetView

- (void)loadView {
  GMSPanoramaView *panoView = [[GMSPanoramaView alloc] initWithFrame:CGRectZero];
  self.view = panoView;

  [panoView moveNearCoordinate:CLLocationCoordinate2DMake(-33.732, 150.312)];
}

@end
      

दर्शक को पसंद के मुताबिक बनाना

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

orientationGestures
क्या उपयोगकर्ता, टैप करके या खींचकर-छोड़कर कैमरे को फिर से अलाइन कर पाएगा. कैमरे के ओरिएंटेशन में होने वाले बदलावों को बंद करने के लिए, इसे NO पर सेट करें.
zoomGestures
क्या उपयोगकर्ता ज़ूम करने के लिए पिंच कर पाएगा. ज़ूम करने की सुविधा बंद करने के लिए, वैल्यू को NO पर सेट करें.
navigationGestures
उपयोगकर्ता यह बदल सकता है कि कौनसा पैनोरमा दिखे. उपयोगकर्ता, नेविगेशन लिंक पर एक बार टैप करके या व्यू पर दो बार टैप करके, पैनोरमा बदल सकते हैं. नेविगेशन में होने वाले बदलावों को बंद करने के लिए, NO पर सेट करें.

setAllGesturesEnabled: तरीके का इस्तेमाल करके, सभी जेस्चर को एक साथ चालू या बंद किया जा सकता है.

Swift

panoView.setAllGesturesEnabled(false)
      

Objective-C

[panoView setAllGesturesEnabled:NO];
      

यूआरएल स्कीम की मदद से Street View लॉन्च करना

Google Street View की इमेज, iOS के लिए बने Google Maps ऐप्लिकेशन में देखी जा सकती हैं. mapmode पैरामीटर को streetview पर सेट करके, comgooglemaps यूआरएल स्कीम की मदद से, iOS के लिए Google Maps ऐप्लिकेशन को Street View मोड में लॉन्च किया जा सकता है. यहां ऐसे यूआरएल का उदाहरण दिया गया है जिससे Street View खुलेगा. ज़्यादा जानकारी के लिए, यूआरएल स्कीमा के दस्तावेज़ देखें.

comgooglemaps://?center=46.414382,10.013988&mapmode=streetview

Street View की जगहें और पॉइंट-ऑफ़-व्यू (पीओवी)

GMSPanoramaCamera की मदद से, Street View कैमरे के पॉइंट-ऑफ़-व्यू को हेडिंग, पिच, और ज़ूम के कॉम्बिनेशन के तौर पर सेट किया जा सकता है.

नीचे दिए गए स्निपेट सेट, कैमरे को दक्षिण की ओर और थोड़ा नीचे की ओर ले जाएंगे.

Swift

panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
      

Objective-C

panoView.camera = [GMSPanoramaCamera cameraWithHeading:180
                                                 pitch:-10
                                                  zoom:1];
      

ओरिएंटेशन

Street View की जगह की जानकारी से, किसी इमेज के लिए कैमरे के फ़ोकस की जगह का पता चलता है. हालांकि, इससे उस इमेज के लिए कैमरे के ओरिएंटेशन का पता नहीं चलता. इसके लिए, GMSOrientation ऑब्जेक्ट दो प्रॉपर्टी तय करता है:

  • heading, कैमरे के लोकस के आस-पास घूमने के ऐंगल को डिग्री में तय करता है. यह ऐंगल, सही उत्तर से तय किया जाता है. दिशाओं को घड़ी की सुई की दिशा में मापा जाता है: सही उत्तर 0, पूर्व 90, दक्षिण 180, पश्चिम 270.
  • pitch (डिफ़ॉल्ट 0) से, कैमरे के शुरुआती डिफ़ॉल्ट पिच से "अप" या "डाउन" ऐंगल में होने वाले बदलाव का पता चलता है. यह अक्सर (हालांकि, हमेशा नहीं) सपाट हॉरिज़ॉन्टल होता है. (उदाहरण के लिए, पहाड़ी पर ली गई इमेज में डिफ़ॉल्ट पिच, हॉरिज़ॉन्टल नहीं होगी.) पिच ऐंगल को ऊपर की ओर देखने पर, पॉज़िटिव वैल्यू (सीधे ऊपर की ओर +90 डिग्री और डिफ़ॉल्ट पिच के ऑर्थोगोनल) और नीचे की ओर देखने पर, नेगेटिव वैल्यू (सीधे नीचे की ओर -90 डिग्री और डिफ़ॉल्ट पिच के ऑर्थोगोनल) से मेज़र किया जाता है.

ज़ूम करें

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

कैमरे को मूव करना

GMSPanoramaView बनाने के बाद, अगर उसमें कॉन्फ़िगर किया गया या डिफ़ॉल्ट कैमरा है, तो उसे कई तरीकों से बदला जा सकता है. कैमरा बदलने पर, आपके पास कैमरे की गति को ऐनिमेट करने का विकल्प होता है. ऐनिमेशन, कैमरे के मौजूदा एट्रिब्यूट और नए एट्रिब्यूट के बीच इंटरपोल करता है.

GMSPanoramaCamera ऑब्जेक्ट में बदलाव किया जा सकता है और उसे GMSPanoramaView की camera प्रॉपर्टी पर सेट किया जा सकता है. इससे कैमरा, बिना किसी ऐनिमेशन के नए व्यू पर स्नैप हो जाएगा. ओरिएंटेशन और ज़ूम के किसी भी कॉम्बिनेशन को कॉन्फ़िगर करने के लिए, GMSCameraPosition बनाया जा सकता है.

Swift

panoView.camera = GMSPanoramaCamera(heading: 180, pitch: -10, zoom: 1)
      

Objective-C

panoView.camera = [GMSPanoramaCamera cameraWithHeading:180
                                                 pitch:-10
                                                  zoom:1];
      

GMSPanoramaView के animateToCamera:animationDuration: तरीके को कॉल करके, ट्रांज़िशन को ऐनिमेट किया जा सकता है. इसके अलावा, Core Animation का इस्तेमाल करके भी कैमरे को कंट्रोल किया जा सकता है. इसे GMSPanoramaView, GMSPanoramaLayer को कस्टम CALayer के ज़रिए उपलब्ध कराया गया है.

Street View में मार्कर

GMSPanoramaView ऑब्जेक्ट, मैप मार्कर दिखा सकता है. एक ही GMSMarker ऑब्जेक्ट का इस्तेमाल, GMSMapView या GMSPanoramaView ऑब्जेक्ट में से किसी एक पर किया जा सकता है. इसके लिए, उस ऑब्जेक्ट की प्रॉपर्टी सेट करें:

Swift

// Create a marker at the Eiffel Tower
let position = CLLocationCoordinate2D(latitude: 48.858, longitude: 2.294)
let marker = GMSMarker(position: position)

// Add the marker to a GMSPanoramaView object named panoView
marker.panoramaView = panoView

// Add the marker to a GMSMapView object named mapView
marker.map = mapView
      

Objective-C

// Create a marker at the Eiffel Tower
CLLocationCoordinate2D position = CLLocationCoordinate2DMake(48.858,2.294);
GMSMarker *marker = [GMSMarker markerWithPosition:position];

// Add the marker to a GMSPanoramaView object named panoView
marker.panoramaView = panoView;

// Add the marker to a GMSMapView object named mapView
marker.map = mapView;
      

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

panoramaView प्रॉपर्टी को nil पर सेट करके, उसे GMSPanoramaView से हटाएं.

Swift

marker.panoramaView = nil
      

Objective-C

marker.panoramaView = nil;
      

इवेंट

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