Geospatial API का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की सेटिंग कॉन्फ़िगर की जा सकती है. इसके बाद, Earth.getCameraGeospatialPose()
को कॉल करके GeospatialPose
किया जा सकता है. इस कॉल से, नए फ़्रेम में कैमरे के लिए डिवाइस की जियोस्पेशियल पोज़िशनिंग के बारे में जानकारी मिलेगी. इस पोज़ को Earth
ऑब्जेक्ट में मैनेज किया जाता है. इसमें यह जानकारी शामिल होती है:
- जगह, अक्षांश और देशांतर में दिखाई जाती है
- ऊंचाई
- ईयूएस कोऑर्डिनेट सिस्टम में उपयोगकर्ता की तरफ़ का ओरिएंटेशन
ट्रैकिंग स्टेटस की जांच करना
जियोस्पेशल वैल्यू सिर्फ़ तब मान्य होती हैं, जब Earth.TrackingState
, TrackingState.TRACKING
हो. पक्का करें कि सभी Geospatial API कॉल को Earth.TrackingState
कंट्रोल ब्लॉक में रैप किया गया हो.
Java
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Kotlin
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
अगर Earth.TrackingState
, TrackingState.TRACKING
नहीं बनता है, तो Earth.TrackingState
TrackingState.PAUSED
या TrackingState.STOPPED
हो सकता है. अगर इनमें से कोई भी शर्त पूरी नहीं होती है, तो Earth.Earthstate
की जांच करें. इससे गड़बड़ी की अन्य स्थितियां दिखती हैं, जो Earth
ऑब्जेक्ट को ट्रैक करने से रोक सकती हैं.
सटीक होने के लिए, पोज़ को अडजस्ट करें
जब डिवाइस डिफ़ॉल्ट ओरिएंटेशन में सीधा हो, तो पिच (X+) और रोल (Z+) कोण सटीक होते हैं. ऐसा एआर ट्रैकिंग के साथ नैचुरल अलाइनमेंट की वजह से होता है. हालांकि, VPS डेटा की उपलब्धता और किसी जगह के समय की स्थितियों के आधार पर यॉ (Y+) के कोण अलग-अलग हो सकते हैं. सटीक जानकारी पाने के लिए, आपके ऐप्लिकेशन में बदलाव करने पड़ सकते हैं.
GeospatialPose.getOrientationYawAccuracy()
, कुछ GeospatialPose
के लिए यॉ (Y+) कोणों का सटीक अनुमान देता है. स्क्रीन की ओरिएंटेशन यॉ की सही जानकारी, GeospatialPose.getEastUpSouthQuaternion()
से मिले यॉर ऐंगल के आस-पास के 68वें पर्सेंटाइल कॉन्फ़िडेंस लेवल के दायरे को दिखाती है. यह संख्या, डिग्री के हिसाब से होती है. दूसरे शब्दों में, इस बात की 68% संभावना है कि GeospatialPose
का वास्तविक यॉ एंगल सटीक हो.
बड़ी वैल्यू का मतलब है कि ज़्यादा सटीक जानकारी नहीं मिलती है. उदाहरण के लिए, अगर यॉ का ऐंगल 60 डिग्री और यॉ की सही जगह 10 डिग्री है, तो इस बात की 68% संभावना होगी कि यॉर का सही ऐंगल 50 से 70 डिग्री के बीच होगा.
आगे क्या करना है
- ऐंकर का जियोस्पेशल पोज़ हासिल करके, जियोस्पेशियल ऐंकर जोड़ें.