Geospatial API, ज़्यादा सटीक भौगोलिक डेटा ट्रांसफ़ॉर्म जनरेट करने के लिए, VPS और जीपीएस डेटा का इस्तेमाल करता है. एपीआई का इस्तेमाल ऐसे किसी भी डिवाइस पर किया जा सकता है जहां डिवाइस अपनी जगह की जानकारी हासिल कर सके:
- अगर जीपीएस सटीक तरीके से काम नहीं करता है, तो यह एपीआई बहुत ज़्यादा सटीक ट्रांसफ़ॉर्मेशन जनरेट करने के लिए, वीपीएस कवरेज पर निर्भर करता है. इन जगहों में, इनडोर जगहें और शहर का घना एनवायरमेंट शामिल है.
- जियोस्पेशल एपीआई, ज़्यादा सटीक जियोस्पेशल ट्रांसफ़ॉर्म जनरेट करने के लिए, उपलब्ध जीपीएस लोकेशन डेटा का इस्तेमाल कर सकता है. ऐसा, ऐसे आउटडोर एनवायरमेंट में किया जा सकता है जहां ऊपर से आने वाली रुकावटें कम या बिलकुल न हों.
एआर सेशन शुरू होने से पहले, आपके पास किसी खास हॉरिज़ॉन्टल पोज़िशन पर, वीपीएस की उपलब्धता तय करने का विकल्प होता है. इसके अलावा, इसका इस्तेमाल किसी खास अनुभव को बेहतर बनाने के लिए भी किया जा सकता है. जैसे, "एआर (ऑगमेंटेड रिएलिटी) में प्रवेश करना" दिखाना बटन को सिर्फ़ तब दबाएं, जब VPS उपलब्ध हो.
ARCore API चालू करना
VPS की उपलब्धता देखने के लिए, आपके ऐप्लिकेशन में ARCore API चालू होना चाहिए.
अपने ऐप्लिकेशन में वीपीएस की उपलब्धता देखना
Geospatial API का इस्तेमाल ऐसी किसी भी जगह पर किया जा सकता है जहां डिवाइस की जगह की जानकारी का पता लगाया जा सके. अगर एआर अनुभव, वीपीएस कवरेज पर निर्भर करता है, तो GARVPSAvailabilityFuture
पाने के लिए GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
का इस्तेमाल किया जा सकता है. यह एक असाइनमेंट है, जो किसी दी गई हॉरिज़ॉन्टल पोज़िशन पर वीपीएस की उपलब्धता की जांच करता है.
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 का इस्तेमाल करना
जियोस्पेशल एपीआई का इस्तेमाल उन इलाकों में भी किया जा सकता है जहां वीपीएस की सुविधा उपलब्ध नहीं है. बाहर के वातावरण में बहुत कम या कोई रुकावट नहीं होने पर, जीपीएस को बहुत ज़्यादा सटीक पोज़ देने के लिए काफ़ी मदद मिल सकती है.
आगे क्या करना है
- असल दुनिया में उपयोगकर्ता के डिवाइस की जगह की सटीक जानकारी का पता लगाने के लिए, डिवाइस के कैमरे की जियोस्पेशल पोज़ पाएं.