Geospatial API का इस्तेमाल करने के लिए, अपने ऐप्लिकेशन की सेटिंग कॉन्फ़िगर की जा सकती है. इसके बाद, ArEarth_getCameraGeospatialPose
को कॉल करके ArGeospatialPose
किया जा सकता है. इस कॉल से, नए फ़्रेम में कैमरे के लिए डिवाइस की जियोस्पेशियल पोज़िशनिंग के बारे में जानकारी मिलेगी. इस पोज़ को ArEarth
ऑब्जेक्ट में मैनेज किया जाता है. इसमें यह जानकारी शामिल होती है:
- जगह की जानकारी, अक्षांश और देशांतर में दी गई हो
- ऊंचाई
- ईयूएस कोऑर्डिनेट सिस्टम में उपयोगकर्ता की तरफ़ का ओरिएंटेशन
ट्रैकिंग स्टेटस की जांच करना
भौगोलिक वैल्यू सिर्फ़ तब मान्य होती हैं, जब ArEarth.ArTrackingState
की वैल्यू ArTrackingState.AR_TRACKING_STATE_TRACKING
और ArEarth.ArEarthState
की वैल्यू AR_EARTH_STATE_ENABLED
हो. पक्का करें कि सभी Geospatial API कॉल को 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 डिग्री के बीच होगा.
आगे क्या करना है
- ऐंकर की भौगोलिक पोज़िशन का पता लगाकर, जियोस्पेशल ऐंकर डालें.