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