CameraUpdateFactory

पब्लिक फ़ाइनल क्लास CameraUpdateFactory ऑब्जेक्ट की जानकारी देती है

ऐसी क्लास जिसमें CameraUpdate ऑब्जेक्ट बनाने के तरीके शामिल हैं. ये ऑब्जेक्ट, मैप के कैमरे में बदलाव करते हैं. मैप के कैमरे में बदलाव करने के लिए, इस क्लास से बनाए गए CameraUpdate ऑब्जेक्ट का इस्तेमाल करके, animateCamera(CameraUpdate), animateCamera(CameraUpdate, GoogleMap.CancelableCallback) या moveCamera(CameraUpdate) को कॉल करें.

उदाहरण के लिए, मैप पर ज़ूम इन करने के लिए, इस कोड का इस्तेमाल किया जा सकता है:

GoogleMap map = ...;
 map.animateCamera(CameraUpdateFactory.zoomIn());
 

इस क्लास के किसी तरीके का इस्तेमाल करने से पहले, आपको इनमें से कोई एक काम करना होगा, ताकि यह पक्का हो सके कि यह क्लास शुरू हो चुकी है:

  • ऐप्लिकेशन में जोड़े गए MapFragment या MapView में, GoogleMap मिलने तक इंतज़ार करें. getMapAsync() को कॉल करके और onMapReady(GoogleMap map) कॉलबैक का इंतज़ार करके, GoogleMap इंस्टेंस पाया जा सकता है.
  • initialize(Context) पर कॉल करें. जब तक GooglePlayServicesNotAvailableException को थ्रो नहीं किया जाता, तब तक यह क्लास सही तरीके से शुरू हो जाएगी.

डेवलपर गाइड

ज़्यादा जानकारी के लिए, कैमरा और व्यू से जुड़ी डेवलपर गाइड पढ़ें.

सार्वजनिक तरीके से जुड़ी खास जानकारी

स्टैटिक CameraUpdate
newCameraPosition(CameraPosition CamPosition)
ऐसा CameraUpdate देता है जो कैमरे को तय CameraPosition पर ले जाता है.
स्टैटिक CameraUpdate
newLatLng(LatLng latLng)
ऐसा CameraUpdate देता है जो स्क्रीन के बीच वाले हिस्से को LatLng ऑब्जेक्ट के बताए गए अक्षांश और देशांतर पर ले जाता है.
स्टैटिक CameraUpdate
newLatLngBounds(LatLngBounds बाउंड, int चौड़ाई, int length, int पैडिंग)
ऐसा CameraUpdate दिखाता है जो कैमरे को इस तरह बदलता है कि स्क्रीन पर दिए गए अक्षांश/देशांतर की सीमा, तय किए गए डाइमेंशन के बाउंडिंग बॉक्स में सबसे ज़्यादा ज़ूम लेवल पर दिखाई दे.
स्टैटिक CameraUpdate
newLatLngBounds(LatLngBounds बाउंड, int पैडिंग)
यह CameraUpdate दिखाता है, जो कैमरे का फ़ॉर्मैट इस तरह बदलता है कि स्क्रीन पर तय किए गए अक्षांश/देशांतर की सीमाएं, ज़ूम के सबसे बड़े लेवल पर होती हैं.
स्टैटिक CameraUpdate
newLatLngZoom(LatLng latLng, फ़्लोट ज़ूम)
ऐसा CameraUpdate दिखाता है जो स्क्रीन के बीच वाले हिस्से को उस अक्षांश और देशांतर पर ले जाता है जिसे LatLng ऑब्जेक्ट ने तय किया है. साथ ही, यह स्क्रीन के दिए गए ज़ूम लेवल पर ले जाता है.
स्टैटिक CameraUpdate
scrollBy(फ़्लोट xPixel, फ़्लोट yPixel)
ऐसा CameraUpdate दिखाता है जो कैमरे को मैप पर स्क्रोल करता है. इस तरीके से व्यू के बीच के हिस्से को x और y की दिशा में पिक्सल की तय संख्या के हिसाब से शिफ़्ट किया जाता है.
स्टैटिक CameraUpdate
zoomBy(फ़्लोट मात्रा, पॉइंट फ़ोकस)
ऐसा CameraUpdate दिखाता है जो कैमरे के मौजूदा व्यू पॉइंट के ज़ूम लेवल को शिफ़्ट करता है.
स्टैटिक CameraUpdate
zoomBy(फ़्लोट अ मात्रा)
ऐसा CameraUpdate दिखाता है जो कैमरे के मौजूदा व्यू पॉइंट के ज़ूम लेवल को शिफ़्ट करता है.
स्टैटिक CameraUpdate
zoomIn()
व्यू पॉइंट की ऊंचाई को पृथ्वी की सतह के पास ले जाकर, मैप पर ज़ूम इन करने वाला CameraUpdate दिखाता है.
स्टैटिक CameraUpdate
zoomOut()
व्यू पॉइंट की ऊंचाई को पृथ्वी की सतह से दूर ले जाकर, मैप पर ज़ूम आउट करने वाला CameraUpdate दिखाता है.
स्टैटिक CameraUpdate
zoomTo(फ़्लोट ज़ूम)
यह CameraUpdate दिखाता है, जो कैमरे के व्यूपॉइंट को एक खास ज़ूम लेवल पर ले जाता है.

इनहेरिट किए गए तरीके की खास जानकारी

सार्वजनिक तरीके

सार्वजनिक स्टैटिक CameraUpdate newCameraPosition (CameraPosition कैमरे की पोज़िशन)

ऐसा CameraUpdate देता है जो कैमरे को तय CameraPosition पर ले जाता है. इससे, यह CameraPosition ऑब्जेक्ट के अक्षांश, देशांतर, ज़ूम लेवल, बियरिंग, और टिल्ट के आधार पर ट्रांसफ़ॉर्मेशन ऐक्शन बनाता है.

पैरामीटर
cameraPosition
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate newLatLng (LatLng latLng)

ऐसा CameraUpdate देता है जो स्क्रीन के बीच वाले हिस्से को LatLng ऑब्जेक्ट के बताए गए अक्षांश और देशांतर पर ले जाता है. ऐसा करने से, कैमरे को LatLng ऑब्जेक्ट पर सेंटर कर दिया जाता है.

पैरामीटर
latLng LatLng ऑब्जेक्ट, जिसमें मनचाहे अक्षांश और देशांतर होते हैं.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate newLatLngBounds (LatLngBounds बाउंड, int चौड़ाई, int length, int पैड)

ऐसा CameraUpdate दिखाता है जो कैमरे को इस तरह बदलता है कि स्क्रीन पर दिए गए अक्षांश/देशांतर की सीमा, तय किए गए डाइमेंशन के बाउंडिंग बॉक्स में सबसे ज़्यादा ज़ूम लेवल पर दिखाई दे. बाउंडिंग बॉक्स के साइज़ को सीमित करने के लिए, अतिरिक्त पैडिंग (जगह) तय की जा सकती है. दिए गए CameraUpdate का झुकाव 0 और झुकाव 0 है.

newLatLngBounds(LatLngBounds, int) के उलट, मैप के लेआउट फ़ेज़ से पहले, कैमरे को बदलने के लिए इस तरीके से लौटाए गए CameraUpdate का इस्तेमाल किया जा सकता है. ऐसा इसलिए, क्योंकि तर्क बाउंडिंग बॉक्स का मनपसंद साइज़ तय करते हैं.

पैरामीटर
सीमा बाउंडिंग बॉक्स में फ़िट होने वाला क्षेत्र
width पिक्सल में बाउंडिंग बॉक्स की चौड़ाई (पिक्सल)
ऊंचाई पिक्सल में बाउंडिंग बॉक्स की ऊंचाई (पिक्सल)
padding बाउंडिंग बॉक्स के साइज़ की अतिरिक्त पाबंदी (पिक्सल में)
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate newLatLngBounds (LatLngBounds बाउंड, int पैड)

यह CameraUpdate दिखाता है, जो कैमरे का फ़ॉर्मैट इस तरह बदलता है कि स्क्रीन पर तय किए गए अक्षांश/देशांतर की सीमाएं, ज़ूम के सबसे बड़े लेवल पर होती हैं. मैप व्यू के किनारों से बाउंडिंग बॉक्स को इनसेट करने के लिए, पैडिंग (जगह) तय की जा सकती है. दिखाए गए CameraUpdate का झुकाव 0 और झुकाव 0 है.

इस अपडेट के बाद कैमरा तब तक न बदलें, जब तक मैप का लेआउट न बन जाए (इस तरीके से बाउंडिंग बॉक्स और ज़ूम के लेवल को सही तरीके से तय करने के लिए, मैप का साइज़ होना ज़रूरी है). ऐसा न करने पर, IllegalStateException फेंक दिया जाएगा. मैप उपलब्ध होने के लिए यह काफ़ी नहीं है; मैप वाले व्यू को भी इस तरह का लेआउट बनाना होगा जिससे इसके डाइमेंशन तय किए गए हों. अगर आपको पक्के तौर पर पता नहीं है कि ऐसा हुआ है, तो newLatLngBounds(LatLngBounds, int, int, int) का इस्तेमाल करें और मैप के डाइमेंशन को मैन्युअल तरीके से दें.

पैरामीटर
सीमा स्क्रीन पर फ़िट करने के लिए क्षेत्र
padding बाउंडिंग बॉक्स के किनारों और व्यू के किनारों के बीच खाली जगह (पिक्सल में) रखें. यह वैल्यू, बाउंडिंग बॉक्स के चारों तरफ़ लागू होती है.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate newLatLngZoom (LatLng latLng, फ़्लोट ज़ूम)

ऐसा CameraUpdate दिखाता है जो स्क्रीन के बीच वाले हिस्से को उस अक्षांश और देशांतर पर ले जाता है जिसे LatLng ऑब्जेक्ट ने तय किया है. साथ ही, यह स्क्रीन के दिए गए ज़ूम लेवल पर ले जाता है.

पैरामीटर
latLng LatLng ऑब्जेक्ट, जिसमें मनचाहे अक्षांश और देशांतर होते हैं.
ज़ूम अपनी पसंद का ज़ूम लेवल 2.0 से 21.0 की रेंज में रखें. इस रेंज से नीचे की वैल्यू 2.0 पर और इससे ऊपर की वैल्यू 21.0 पर सेट हैं. ज़ूम इन करने के लिए वैल्यू बढ़ाएं. सभी इलाकों में सबसे ज़्यादा ज़ूम लेवल वाली टाइल नहीं हैं.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक CameraUpdate scrollBy (फ़्लोट xPixel, फ़्लोट yPixel)

ऐसा CameraUpdate दिखाता है जो कैमरे को मैप पर स्क्रोल करता है. इस तरीके से व्यू के बीच के हिस्से को x और y की दिशा में पिक्सल की तय संख्या के हिसाब से शिफ़्ट किया जाता है.

उदाहरण:

  • अगर xPixel = 5 और yPixel = 0 हो, तो सिस्टम कैमरे को मूव करके दाईं ओर स्क्रोल करता है. इससे, ऐसा लगता है कि मैप 5 पिक्सल बाईं ओर शिफ़्ट हो गया है.
  • अगर xPixel = 0 और yPixel = 5 हैं, तो सिस्टम कैमरे को इधर-उधर स्क्रोल करके नीचे की ओर स्क्रोल करता है. इससे ऐसा लगता है कि मैप पांच पिक्सल ऊपर की ओर शिफ़्ट हो गया है.

स्क्रोलिंग, कैमरे के मौजूदा ओरिएंटेशन के हिसाब से है. उदाहरण के लिए, अगर कैमरा 90 डिग्री पर है, तो पूर्व "ऊपर" होगा और दाईं ओर स्क्रोल करने से कैमरे दक्षिण की ओर बढ़ जाएगा.

पैरामीटर
xPixel हॉरिज़ॉन्टल रूप से स्क्रोल करने के लिए पिक्सल की संख्या. पॉज़िटिव वैल्यू, कैमरे के मौजूदा ओरिएंटेशन के हिसाब से कैमरे को दाईं ओर ले जाती है. नेगेटिव वैल्यू, कैमरे के मौजूदा ओरिएंटेशन के हिसाब से कैमरे को बाईं ओर ले जाती है.
yPixel वर्टिकल स्क्रोल करने के लिए पिक्सल की संख्या. पॉज़िटिव वैल्यू, कैमरे को उसके मौजूदा ओरिएंटेशन के हिसाब से नीचे की ओर ले जाती है. नेगेटिव वैल्यू, कैमरे के मौजूदा ओरिएंटेशन के हिसाब से कैमरे को ऊपर की ओर ले जाती है.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate zoomBy (फ़्लोट संख्या, पॉइंट फ़ोकस)

ऐसा CameraUpdate दिखाता है जो कैमरे के मौजूदा व्यू पॉइंट के ज़ूम लेवल को शिफ़्ट करता है.

फ़ोकस के ज़रिए तय किया गया बिंदु स्थिर रहेगा (यानी, यह ज़ूम की प्रोसेस के पहले और बाद में एक ही अक्षांश/देशांतर से मेल खाता है).

यह तरीका zoomTo(float) से अलग है, क्योंकि ज़ूम मौजूदा कैमरे के मुकाबले है.

उदाहरण के लिए, अगर LatLng (11.11, 22.22) फ़िलहाल स्क्रीन की जगह (23, 45) पर है. ज़ूम किए गए इस तरीके और इस LatLng को कॉल करने के बाद भी, इस LatLng की स्क्रीन की जगह (23, 45) ही रहेगी.

पैरामीटर
रकम राशि सेट करें. पॉज़िटिव वैल्यू से यह पता चलता है कि लोग पृथ्वी की सतह के ज़्यादा करीब हैं. वहीं, नेगेटिव वैल्यू का मतलब है कि लोग कैमरे को पृथ्वी की सतह से ज़्यादा ज़ूम कर रहे हैं.
focus स्क्रीन पर पिक्सल की जगह तय की जा सकती है, जो ज़ूम करने की प्रोसेस के बाद स्थिर रहती है. कैमरे को मूव करने से पहले, उस पिक्सल की जगह पर जो अक्षांश/देशांतर होता था वह कैमरा मूव होने के बाद भी पहले जैसा ही रहेगा.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate zoomBy (फ़्लोट संख्या)

ऐसा CameraUpdate दिखाता है जो कैमरे के मौजूदा व्यू पॉइंट के ज़ूम लेवल को शिफ़्ट करता है.

यह तरीका zoomTo(float) से अलग है, क्योंकि ज़ूम मौजूदा कैमरे के मुकाबले है.

पैरामीटर
रकम राशि सेट करें. पॉज़िटिव वैल्यू से यह पता चलता है कि लोग पृथ्वी की सतह के ज़्यादा करीब हैं. वहीं, नेगेटिव वैल्यू का मतलब है कि लोग कैमरे को पृथ्वी की सतह से ज़्यादा ज़ूम कर रहे हैं.
रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate zoomIn ()

व्यू पॉइंट की ऊंचाई को पृथ्वी की सतह के पास ले जाकर, मैप पर ज़ूम इन करने वाला CameraUpdate दिखाता है. ज़ूम इंक्रीमेंट 1.0 है.

रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate zoomOut ()

व्यू पॉइंट की ऊंचाई को पृथ्वी की सतह से दूर ले जाकर, मैप पर ज़ूम आउट करने वाला CameraUpdate दिखाता है. ज़ूम की बढ़ोतरी -1.0 है.

रिटर्न
  • ट्रांसफ़ॉर्मेशन वाला CameraUpdate.

सार्वजनिक स्टैटिक CameraUpdate zoomTo (फ़्लोट ज़ूम)

यह CameraUpdate दिखाता है, जो कैमरे के व्यूपॉइंट को एक खास ज़ूम लेवल पर ले जाता है.

पैरामीटर
ज़ूम अपनी पसंद का ज़ूम लेवल 2.0 से 21.0 की रेंज में रखें. इस रेंज से नीचे की वैल्यू 2.0 पर और इससे ऊपर की वैल्यू 21.0 पर सेट हैं. ज़ूम इन करने के लिए वैल्यू बढ़ाएं. सभी इलाकों में सबसे ज़्यादा ज़ूम लेवल वाली टाइल नहीं हैं.