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

भौगोलिक एपीआई का इस्तेमाल करने के लिए अपने ऐप्लिकेशन की सेटिंग को कॉन्फ़िगर करने के बाद, आपके पास ArEarth_getCameraGeospatialPose को कॉल करके, ArGeospatialPose को कॉल करने का विकल्प होता है. इसमें नए फ़्रेम में, कैमरे के लिए डिवाइस की भौगोलिक स्थिति के बारे में बताया जाता है. इस पोज़ को किसी ArEarth ऑब्जेक्ट में मैनेज किया जा रहा है. इसमें यह जानकारी शामिल है:

  • जगह की जानकारी, अक्षांश और देशांतर में दिखाई जाती है
  • ऊंचाई
  • उपयोगकर्ता की ओर से ईयूएस निर्देशांक सिस्टम में जिस दिशा में है उसका अंदाज़ा लगाने वाला ओरिएंटेशन

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

भौगोलिक डेटा सिर्फ़ तब मान्य होता है, जब ArEarth.ArTrackingState ArTrackingState.AR_TRACKING_STATE_TRACKING और ArEarth.ArEarthState AR_EARTH_STATE_ENABLED है. सभी भौगोलिक एपीआई कॉल को ArEarth.ArTrackingState कंट्रोल ब्लॉक में रैप करना न भूलें.

if (ar_earth != NULL) {
  ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED;
  ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth,
                               &earth_tracking_state);
  if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) {
    ArGeospatialPose* camera_geospatial_pose = NULL;
    ArGeospatialPose_create(ar_session, &camera_geospatial_pose);
    ArEarth_getCameraGeospatialPose(ar_session, ar_earth,
                                    camera_geospatial_pose);
    // camera_geospatial_pose contains geodetic location, rotation, and
    // confidences values.
    ArGeospatialPose_destroy(camera_geospatial_pose);
  }
}

अगर ArEarth.ArTrackingState, ArTrackingState.AR_TRACKING_STATE_TRACKING नहीं बनता है, तो ArEarth.ArTrackingState AR_TRACKING_STATE_PAUSED या AR_TRACKING_STATE_STOPPED हो सकता है. अगर इनमें से कोई भी स्थिति सही नहीं है, तो ArEarth.ArEarthState को चुनें. इसमें, गड़बड़ी की ऐसी अन्य स्थितियां दिखती हैं जो ArEarth ऑब्जेक्ट को ट्रैक करने से रोक सकती हैं.

पोज़ को सटीक बनाने के लिए बदलाव करें

जब डिवाइस डिफ़ॉल्ट ओरिएंटेशन में सीधा होता है, तब पिच (X+) और रोल (Z+) के कोण सटीक होते हैं. ऐसा इसलिए होता है, क्योंकि एआर ट्रैकिंग के साथ नैचुरल अलाइनमेंट होती है. हालांकि, यॉ (Y+) के ऐंगल अलग-अलग हो सकते हैं. ऐसा, वीपीएस डेटा की उपलब्धता और उस जगह के समय की स्थितियों के हिसाब से होता है. सटीक नतीजे पाने के लिए, आपके ऐप्लिकेशन में बदलाव करने पड़ सकते हैं.

ArGeospatialPose_getOrientationYawAccuracy() किसी खास ArGeospatialPose के लिए, यॉ (Y+) के कोणों के सटीक होने का अनुमान लगाता है. ओरिएंटेशन यॉर ऐक्यूरसी वह संख्या है जो ArGeospatialPose_getEastUpSouthQuaternion() से मिले यॉ कोणों के आस-पास के 68वें पर्सेंटाइल कॉन्फ़िडेंस लेवल की रेडियस के बारे में डिग्री में बताती है. दूसरे शब्दों में, इस बात की 68% संभावना है कि ArGeospatialPose का यॉर ऐंगल सटीक हो.

बड़ी वैल्यू का मतलब है कि डेटा सटीक नहीं है. उदाहरण के लिए, अगर याव का अनुमानित कोण 60 डिग्री और यॉं सटीक है 10 डिग्री है, तो इस बात की 68% संभावना है कि यॉ के सही ऐंगल 50 से 70 डिग्री के बीच है.

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