सड़क दृश्य

प्लैटफ़ॉर्म चुनें: 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 व्यूअर में दिखती हैं — GMSPanoramaView का ऑब्जेक्ट.

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 का इस्तेमाल करें या मैप पर उपयोगकर्ता की कार्रवाइयों का अनुवाद, Street View इमेज में करें.

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

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

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

  • 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 इमेज की जगह सेट करें.

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

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 यूआरएल स्कीम की मदद से, Street View मोड में iOS के लिए Google Maps ऐप्लिकेशन लॉन्च किया जा सकता है. Street View को लॉन्च करने वाले यूआरएल का एक उदाहरण नीचे दिया गया है. ज़्यादा जानकारी के लिए, यूआरएल स्कीम देखें.

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

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

GMSPanoramaCamera में, Street View कैमरे को हेडिंग, पिच, और ज़ूम के कॉम्बिनेशन के तौर पर सेट करने की सुविधा मिलती है.

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

Swift

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

Objective-C

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

ओरिएंटेशन

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

Street View में मार्कर

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

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 में तरीकों की सूची देखें.