भौगोलिक डेटा को ज़्यादा सटीक बनाने के लिए, भौगोलिक डेटा VPS और जीपीएस डेटा को एक साथ इस्तेमाल करता है. एपीआई का इस्तेमाल ऐसी किसी भी जगह पर किया जा सकता है जहां डिवाइस अपनी जगह की जानकारी हासिल कर पाए:
- इनडोर स्पेस और घना शहरी वातावरण जैसे कम जीपीएस कवरेज वाले इलाकों में, यह एपीआई बहुत ज़्यादा सटीक ट्रांसफ़ॉर्मेशन जनरेट करने के लिए VPS कवरेज पर निर्भर रहेगा.
- अगर बाहरी जगहों पर कुछ या कोई रुकावट नहीं आती, तो जियोस्पेशियल एपीआई सटीक तरीके से जियोस्पेशियल ट्रांसफ़ॉर्मेशन जनरेट करने के लिए, उपलब्ध जीपीएस लोकेशन डेटा का इस्तेमाल कर सकता है.
आप एआर सेशन शुरू होने से पहले किसी दी गई हॉरिज़ॉन्टल स्थिति पर VPS की उपलब्धता तय कर सकते हैं और ज़्यादा खास अनुभव देने के लिए इसका इस्तेमाल कर सकते हैं — उदाहरण के लिए, "AR डालें" बटन सिर्फ़ तब दिखाएं, जब VPS उपलब्ध हो.
ARCore API चालू करना
आपके ऐप्लिकेशन में ARCore API चालू करना ज़रूरी है, ताकि यह देखा जा सके कि VPS की सुविधा उपलब्ध है या नहीं.
अपने ऐप्लिकेशन में VPS की उपलब्धता देखना
भौगोलिक डेटा के एपीआई का इस्तेमाल ऐसी किसी भी जगह पर किया जा सकता है जहां डिवाइस अपनी जगह का पता लगा सकता है. अगर आपका एआर अनुभव, वीपीएस कवरेज पर आधारित है, तो GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
का इस्तेमाल करके GARVPSAvailabilityFuture
लिया जा सकता है. यह एसिंक्रोनस टास्क है जो दिए गए हॉरिज़ॉन्टल पोज़िशन पर VPS की उपलब्धता की जांच करता है.
GARVPSAvailabilityFuture
मिलने के बाद, पोल का इस्तेमाल करके या कॉलबैक करके, इसका नतीजा पाया जा सकता है.
नतीजे पर पोल करें
Future
की स्थिति जानने के लिए, GARFuture.state
का इस्तेमाल करें. ये तीन अलग-अलग स्थितियां होती हैं:
GARFutureStatePending
: कार्रवाई अभी पूरी नहीं हुई है, इसलिए किसी नतीजे की जानकारी नहीं है.GARFutureStateCancelled
:GARFuture#cancel
ने कार्रवाई को रद्द कर दिया है. रजिस्टर किए गए किसी भी कॉलबैक को कभी कॉल नहीं किया जाएगा.GARFutureStateDone
: कार्रवाई पूरी हो गई है. नतीजा पाने के लिए,GARVPSAvailabilityFuture.result
का इस्तेमाल करें.
टास्क पूरा होने तक, GARFuture.state
देखते रहें.
कॉलबैक से नतीजा पाना
Future
का नतीजा कॉलबैक से भी मिल सकता है. GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
का इस्तेमाल करें और completionHandler
दें. Future
का स्टेटस GARFutureStateDone
होते ही, इस completionHandler
को मुख्य थ्रेड पर कॉल किया जाएगा.
Future
रद्द करें
Future
को रद्द करने के लिए, GARFuture#cancel
का इस्तेमाल करें. थ्रेड पैरललिज़्म की वजह से, हो सकता है कि रद्द करने की आपकी कोशिश कामयाब न हुई हो.
अगर ऐसा नहीं किया जाता है, तो GARFuture#cancel
YES
दिखाता है. अगर ऐसा नहीं होता है, तो NO
दिखाता है.
VPS कवरेज के बिना Geospatial API का इस्तेमाल करना
भौगोलिक एपीआई का इस्तेमाल उन इलाकों में भी किया जा सकता है जहां वीपीएस कवरेज नहीं है. अगर खुली जगह में हवाई जहाज़ में कोई रुकावट नहीं आती है या आस-पास कोई रुकावट नहीं होती है, तो बेहतर पोज़ बनाने के लिए जीपीएस काफ़ी मददगार हो सकता है.
आगे क्या करना है
- असल दुनिया में उपयोगकर्ता के डिवाइस की जगह की सटीक जानकारी पाने के लिए, डिवाइस के कैमरे के भौगोलिक पोज़ को हासिल करें.