सड़क दृश्य

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.
प्लैटफ़ॉर्म चुनें: Android iOS JavaScript

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

खास जानकारी

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

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

Street View के पैनोरामा

हर 'स्ट्रीट व्यू' पैनोरामा, एक या कई इमेज का सेट होता है. यह एक ही जगह से पूरा 360 डिग्री व्यू दिखाता है. इमेज 'इक्विरेक्टैंग्यूलर' (प्लेट कैरी) प्रोजेक्शन के मुताबिक हैं, जिसमें 360 डिग्री क्षैतिज दृश्य (पूरी तरह से रैप) और 180 डिग्री वर्टिकल व्यू (सीधे ऊपर से नीचे) शामिल हैं. नतीजे में मिलने वाला 360 डिग्री का पैनोरामा, गोल घेरे में मौजूद प्रोजेक्शन के बारे में बताता है. यह इमेज उस गोले की दो डाइमेंशन वाली सतह पर रैप होती है.

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

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

सड़क दृश्य पैनोरामा मेटा डेटा के दो हिस्सों में से किसी एक से पहचाने जाते हैं:

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

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

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

सड़क दृश्य पैनोरामा का स्थान निर्देशांक के आधार पर सेट किया जा सकता है.

  • moveNearCoordinate तरीके से, निर्देशांक के पास पैनोरामा के लिए अनुरोध किया जाता है.

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

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

  • moveNearCoordinate:radius:source के तरीके से आप रेडियस और सोर्स, दोनों तय कर सकते हैं.

Street View इमेज देखना

स्ट्रीट व्यू व्यूअर जोड़ना

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

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

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

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
क्या उपयोगकर्ता यह तय कर पाएगा कि कौनसा पैनोरामा दिखे. उपयोगकर्ता नेविगेशन लिंक पर एक बार टैप कर सकते हैं या पैनोरामा बदलने के लिए व्यू पर दो बार टैप कर सकते हैं. ऐसा करने पर, नेविगेशन में बदलाव करने की सुविधा बंद हो जाएगी.

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

Swift

panoView.setAllGesturesEnabled(false)
      

Objective-C

[panoView setAllGesturesEnabled:NO];
      

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

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

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

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

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

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

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 डिग्री और सामान्य पिच तक ऑर्थोगॉनल) से मापा जाता है.

तारीख की सीमा बढ़ाकर

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

कैमरा ले जाना

जब आप 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: तरीके को कॉल करके ट्रांज़िशन को ऐनिमेट कर सकते हैं. इसके अलावा, कोर ऐनिमेशन का इस्तेमाल करके भी कैमरे को कंट्रोल किया जा सकता है. इसे GMSPanoramaView पर GMSPanoramaLayer कस्टम CALayer के ज़रिए उपलब्ध कराया गया है.

स्ट्रीट व्यू में मार्कर

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 प्रॉपर्टी को GMSPanoramaView से हटाने के लिए उसे nil पर सेट करें.

Swift

marker.panoramaView = nil
      

Objective-C

marker.panoramaView = nil;
      

इवेंट

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