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 व्यूअर जोड़ना
दर्शक जोड़ने के बुनियादी तरीके:
- (एक बार) SDK टूल पाने और कुंजी पाने के लिए, इस्तेमाल शुरू करना में दिए गए निर्देशों का पालन करें. साथ ही, ज़रूरी फ़्रेमवर्क जोड़ें.
ViewController
बनाएं या अपडेट करें. जब यह व्यू कंट्रोलर दिखने लगेगा, तो पैनोरामा दिखेगा. हालांकि, पक्का करें कि इसेloadView
तरीके से बनाया गया हो.GMSPanoramaView
initWithFrame:
तरीके का इस्तेमाल करके,GMSPanoramaView
कक्षा बनाएं और उसे इंस्टैंशिएट करें. अगर इसका इस्तेमाल सिर्फ़ व्यू कंट्रोलर के व्यू के तौर पर किया जाना है, तोCGRectZero
को मैप के फ़्रेम के तौर पर इस्तेमाल किया जा सकता है. ऐसा करने से मैप का साइज़ अपने-आप बदल जाएगा.GMSPanoramaView
ऑब्जेक्ट को व्यू कंट्रोलर के व्यू के तौर पर सेट करें, जैसे किself.view = panoView;
.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
में तरीकों की सूची देखें.