भौगोलिक एपीआई का इस्तेमाल करने के लिए अपने ऐप्लिकेशन की सेटिंग को कॉन्फ़िगर करने के बाद, आपके पास 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 डिग्री के बीच है.
आगे क्या करना है
- ऐंकर के जियोस्पेशियल पोज़ को हासिल करके, जियोस्पेशियल ऐंकर लगाएं.