Geospatial API का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की सेटिंग कॉन्फ़िगर की जा सकती है. इसके बाद, Earth.getCameraGeospatialPose()
को कॉल करके GeospatialPose
किया जा सकता है. इस कॉल से, नए फ़्रेम में कैमरे के लिए डिवाइस की जियोस्पेशियल पोज़िशनिंग के बारे में जानकारी मिलेगी. इस पोज़ को Earth
ऑब्जेक्ट में मैनेज किया जाता है. इसमें यह जानकारी शामिल होती है:
- जगह, अक्षांश और देशांतर में दिखाई जाती है
- ऊंचाई
- ईयूएस निर्देशांक सिस्टम में, उपयोगकर्ता की ओर की दिशा का अनुमानित ओरिएंटेशन. इसमें X+ पूर्व की ओर, Y+ ऊपर की ओर, और Z+ दक्षिण की ओर है
ट्रैकिंग स्टेटस की जांच करना
जियोस्पेशल वैल्यू सिर्फ़ तब मान्य होती हैं, जब 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+) कोण सटीक होते हैं. ऐसा एआर ट्रैकिंग के साथ नैचुरल अलाइनमेंट की वजह से होता है. हालांकि, जगह पर वीपीएस डेटा की उपलब्धता और समय के हिसाब से, याव (Y+) ऐंगल अलग-अलग हो सकते हैं. सटीक जानकारी पाने के लिए, आपके ऐप्लिकेशन में बदलाव करने पड़ सकते हैं.
GeospatialPose.getOrientationYawAccuracy()
, किसी GeospatialPose
के लिए, याव (Y+) ऐंगल के सटीक अनुमान की जानकारी देता है. स्क्रीन की ओरिएंटेशन यॉ की सटीक जानकारी से, GeospatialPose.getEastUpSouthQuaternion()
से मिले यॉर ऐंगल के आस-पास 68वें पर्सेंटाइल कॉन्फ़िडेंस लेवल के दायरे में आने वाले रेडियस की जानकारी मिलती है. दूसरे शब्दों में, इस बात की 68% संभावना है कि GeospatialPose
का असल याव ऐंगल सटीक हो.
बड़ी वैल्यू का मतलब है कि ज़्यादा सटीक नहीं. उदाहरण के लिए, अगर अनुमानित याव ऐंगल 60 डिग्री है और याव ऐंगल की सटीक वैल्यू 10 डिग्री है, तो इस बात की 68% संभावना है कि असल याव ऐंगल 50 से 70 डिग्री के बीच हो.
आगे क्या करना है
- ऐंकर की भौगोलिक पोज़िशन का पता लगाकर, जियोस्पेशल ऐंकर डालें.