कैमरे के कंट्रोल कॉन्फ़िगर करना

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

उपयोगकर्ता, मैप पर जेस्चर का इस्तेमाल करके, कैमरे को ज़ूम, झुका, और घुमा सकते हैं. साथ ही, उसकी पोज़िशन को कंट्रोल कर सकते हैं. कैमरे को प्रोग्राम के हिसाब से भी कॉन्फ़िगर किया जा सकता है.

3D कैमरा मॉडल को दिखाने वाला डायग्राम

कैमरे की पोज़िशन

मैप व्यू, एक वर्चुअल कैमरे की तरह काम करता है, जो स्पेस में किसी खास पॉइंट पर फ़ोकस करता है. कैमरे की पोज़िशन और ओरिएंटेशन को अक्षांश/देशांतर/ऊंचाई के कोऑर्डिनेट से तय किया जाता है. इन्हें "सेंटर" के तौर पर तय किया जाता है, जहां कैमरा पॉइंट कर रहा होता है. साथ ही, हेडिंग, झुकाव, रेंज, और रोल से भी तय किया जाता है.

सेंटर (अक्षांश, देशांतर, ऊंचाई)

सेंटर, 3D स्पेस में उस खास पॉइंट को तय करता है जिसे कैमरा देख रहा है. इसे LatLngAltitude क्लास का इस्तेमाल करके तय किया जाता है. यह क्लास, अक्षांश, देशांतर, और ऊंचाई की वैल्यू को जोड़ती है. इससे कैमरे के फ़ोकल पॉइंट को तीन डाइमेंशन में पोज़िशन किया जा सकता है.

अक्षांश -90 और 90 डिग्री के बीच होना चाहिए. देशांतर की वैल्यू -180 और 180 डिग्री के बीच होनी चाहिए. ऊंचाई को मीटर में बताया जाता है. ऊंचाई को कैसे समझा जाए, यह कैमरे के altitudeMode (डिफ़ॉल्ट रूप से AltitudeMode.ABSOLUTE, AltitudeMode.RELATIVE_TO_GROUND या AltitudeMode.RELATIVE_TO_MESH) से तय होता है.

दिशा

हेडिंग से, मैप की कंपास दिशा का पता चलता है. इसे ट्रू नॉर्थ से घड़ी की सुई की दिशा में डिग्री में मापा जाता है. उत्तर 0 डिग्री, पूर्व 90 डिग्री, दक्षिण 180 डिग्री, और पश्चिम 270 डिग्री के बराबर होता है.

झुकाएं

झुकाव से, वर्टिकल ऐक्सिस के हिसाब से कैमरे के ऐंगल का पता चलता है. इसे डिग्री में मापा जाता है. 0 डिग्री के झुकाव का मतलब है कि कैमरा सीधे नीचे की ओर, धरती (नीचे की ओर) की तरफ़ है. 90 डिग्री के झुकाव का मतलब है कि कैमरे को हेडिंग से तय की गई दिशा में हॉरिज़ॉन्टल तौर पर सेट किया गया है.

रेंज

रेंज से, कैमरे की पोज़िशन और मैप के बीच की दूरी का पता चलता है. इसे मीटर में मापा जाता है. यह रेंज, शून्य मीटर (बहुत नज़दीक) से लेकर 6.3 करोड़ मीटर तक हो सकती है. इससे बहुत नज़दीक से लेकर पूरी दुनिया को देखा जा सकता है. इससे यह कंट्रोल किया जाता है कि मैप कितना "ज़ूम इन" या "ज़ूम आउट" दिखे.

रोल

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

कैमरे को कंट्रोल करना

यहां दिए गए कोड सैंपल में, Camera को प्रोग्राम के हिसाब से कंट्रोल करने का तरीका बताया गया है. इसके लिए, GoogleMap3D पर setCamera तरीके को कॉल किया जाता है. इस कोड सैंपल का इस्तेमाल करने के लिए, सेटअप और अपने ऐप्लिकेशन में 3D मैप जोड़ें में दिए गए निर्देशों का पालन करें. इससे आपको अपने Android Studio प्रोजेक्ट को बेसिक 3D मैप के साथ सेट अप करने में मदद मिलेगी. इसके बाद, MainActivity.kt फ़ाइल में यह कोड जोड़ें:


// Add imports
import com.google.android.gms.maps3d.model.Map3DMode
import com.google.android.gms.maps3d.model.camera
import com.google.android.gms.maps3d.model.latLngAltitude

// Add to the onMap3DViewReady method, after the googleMap3D object has been initialized
googleMap3D.setMapMode(Map3DMode.HYBRID)
googleMap3D.setCamera(
    camera {
        center = latLngAltitude {
            latitude = 38.743502
            longitude = -109.499374
            altitude = 1467.0
        }
        heading = 350.0
        tilt = 58.1
        range = 138.2
        roll = 0.0
    }
)

यूज़र इंटरफ़ेस (यूआई) कंट्रोल

Android के लिए Maps 3D SDK, स्टैंडर्ड जेस्चर के अलावा, यूज़र इंटरफ़ेस (यूआई) कंट्रोल भी उपलब्ध कराता है. इनकी मदद से, कैमरे की पोज़िशन में बदलाव किया जा सकता है.

  • ज़ूम कंट्रोल, मैप के ज़ूम लेवल को बदलने के लिए "+" और "-" बटन दिखाता है.
  • Move control, मैप के सेंटर को बदलने के लिए "←", "→", "↑", और "↓" बटन दिखाता है.
  • घुमाने के कंट्रोल में, कैमरे की दिशा बदलने के लिए "↺" और "↻" दिखता है.
  • झुकाव कंट्रोल में, कैमरे के झुकाव को बदलने के लिए "^" और "⌄" दिखता है.
  • कंपास कंट्रोल, कंपास की उत्तर दिशा दिखाता है. साथ ही, कैमरे को उत्तर दिशा की ओर रीसेट करने की सुविधा देता है.

यहां दिए गए कोड सैंपल में, यूज़र इंटरफ़ेस (यूआई) कंट्रोल की विज़िबिलिटी बदलने का तरीका बताया गया है:

```kotlin // Add imports import com.google.android.gms.maps3d.UiControlSettings import com.google.android.gms.maps3d.model.CompassControl import com.google.android.gms.maps3d.model.TiltControl import com.google.android.gms.maps3d.model.ZoomControl</p> <p>...</p> <p>val uiControlSettings = googleMap3D.getUiControlSettings()</p> <p>// Show UI controls on the trailing edge of the map uiControlSettings?.setUiControlsPlacement( listOf(CompassControl(), ZoomControl(), TiltControl()), UiControlSettings.ControlPlacement.TRAILING )</p> <p>// Hide UI controls on the trailing edge of the map uiControlSettings?.setUiControlsPlacement( emptyList(), UiControlSettings.ControlPlacement.TRAILING )