डिवाइस के कैमरे की जियोस्पेशियल पोज़ पाएं

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 डिग्री के बीच हो.

आगे क्या करना है