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

Geospatial API का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की सेटिंग कॉन्फ़िगर करने के बाद, Earth.getCameraGeospatialPose() को कॉल करके GeospatialPose पाया जा सकता है. इससे, नए फ़्रेम में कैमरे के लिए, डिवाइस की जियोस्पेशल पोज़िशनिंग के बारे में पता चलता है. इस पोज़ को Earth ऑब्जेक्ट में मैनेज किया जाता है. इसमें यह जानकारी शामिल होती है:

  • जगह की जानकारी, अक्षांश और देशांतर में दी गई हो
  • ऊंचाई
  • ईयूएस कोऑर्डिनेट सिस्टम में, उपयोगकर्ता की ओर की दिशा का अनुमानित ओरिएंटेशन. इसमें X+ पूर्व की ओर, Y+ ऊपर की ओर, और Z+ दक्षिण की ओर है

ट्रैकिंग की स्थिति देखना

जियोस्पेशल वैल्यू सिर्फ़ तब मान्य होती हैं, जब Earth.TrackingState की वैल्यू TrackingState.TRACKING हो. पक्का करें कि सभी जियोस्पेशल एपीआई कॉल को Earth.TrackingState कंट्रोल ब्लॉक में रैप किया गया हो.

JavaKotlin
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) {
  GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose();
  // cameraGeospatialPose contains geodetic location, rotation, and confidences values.
}
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 डिग्री के बीच हो.

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