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

कैमरे की पोज़िशन
मैप व्यू, एक वर्चुअल कैमरे की तरह काम करता है, जो स्पेस में किसी खास पॉइंट पर फ़ोकस करता है. कैमरे की पोज़िशन और ओरिएंटेशन को अक्षांश/देशांतर/ऊंचाई के कोऑर्डिनेट से तय किया जाता है. इन्हें "सेंटर" के तौर पर तय किया जाता है, जहां कैमरा पॉइंट कर रहा होता है. साथ ही, हेडिंग, झुकाव, रेंज, और रोल से भी तय किया जाता है.
सेंटर (अक्षांश, देशांतर, ऊंचाई)
सेंटर से, 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 करोड़ मीटर तक हो सकती है. इससे बहुत नज़दीक से लेकर पूरी दुनिया को देखा जा सकता है. इससे यह कंट्रोल किया जाता है कि मैप कितना "ज़ूम इन" या "ज़ूम आउट" दिखे.
रोल
रोल, हॉरिज़ॉन के हिसाब से कैमरे का ऐंगल सेट करता है. इसे डिग्री में मापा जाता है. इस पैरामीटर का इस्तेमाल करके, फ़्लाइट सिम्युलेशन के दौरान बैंकिंग जैसे इफ़ेक्ट बनाए जा सकते हैं. इसके अलावा, कैमरे को उसके व्यूइंग ऐक्सिस के चारों ओर घुमाकर, बैरल रोल भी बनाया जा सकता है.
कैमरे को कंट्रोल करना
यहां दिए गए कोड सैंपल में,GoogleMap3D पर setCamera तरीके को कॉल करके, प्रोग्राम के हिसाब से Camera को कंट्रोल करने का तरीका बताया गया है.
इस कोड सैंपल का इस्तेमाल करने के लिए, सेटअप और अपने ऐप्लिकेशन में 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 एसडीके, स्टैंडर्ड जेस्चर के अलावा यूज़र इंटरफ़ेस (यूआई) कंट्रोल भी उपलब्ध कराता है. इनकी मदद से, कैमरे की पोज़िशन में बदलाव किया जा सकता है.
- ज़ूम कंट्रोल, मैप के ज़ूम लेवल को बदलने के लिए "+" और "-" बटन दिखाता है.
- 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
...
val uiControlSettings = googleMap3D.getUiControlSettings()
// Show UI controls on the trailing edge of the map
uiControlSettings?.setUiControlsPlacement(
listOf(CompassControl(), ZoomControl(), TiltControl()),
UiControlSettings.ControlPlacement.TRAILING
)
// Hide UI controls on the trailing edge of the map
uiControlSettings?.setUiControlsPlacement(
emptyList(),
UiControlSettings.ControlPlacement.TRAILING
)