Geospatial API, VPS और जीपीएस डेटा की मदद से, बहुत ज़्यादा सटीक जियोस्पेशियल पोज़ जनरेट करता है. एपीआई का इस्तेमाल ऐसी किसी भी जगह पर किया जा सकता है जहां डिवाइस अपनी जगह की जानकारी हासिल कर सके:
- जीपीएस सटीक तरीके से काम न करने वाले इलाकों, जैसे कि इनडोर जगहों और घनी आबादी वाले शहरी माहौल में यह एपीआई, सटीक पोज़िशन जनरेट करने के लिए वीपीएस कवरेज पर निर्भर करता है.
- अगर आस-पास की जगहों में बहुत कम या बिलकुल भी रुकावटें न हों, तो Geospatial API, जीपीएस से मिली जगह की जानकारी का डेटा इस्तेमाल कर सकता है. इससे, भौगोलिक स्थिति के हिसाब से सटीक अनुमान जनरेट किए जा सकते हैं.
एआर सेशन शुरू होने से पहले, आपके पास किसी खास हॉरिज़ॉन्टल पोज़िशन पर, वीपीएस की उपलब्धता तय करने का विकल्प होता है. इसके बाद, इसका इस्तेमाल किसी खास तरह का अनुभव देने के लिए भी किया जा सकता है. जैसे, "एआर (ऑगमेंटेड रिएलिटी) में प्रवेश करना" दिखाना बटन को सिर्फ़ तब दबाएं, जब VPS उपलब्ध हो.
ARCore API चालू करें
VPS की उपलब्धता देखने के लिए, आपके ऐप्लिकेशन में ARCore API चालू होना चाहिए.
यह देखना कि आपके ऐप्लिकेशन में वीपीएस की सुविधा उपलब्ध है या नहीं
Geospatial API का इस्तेमाल ऐसी किसी भी जगह पर किया जा सकता है जहां डिवाइस की जगह की जानकारी का पता लगाया जा सके. अगर आपका एआर अनुभव, वीपीएस कवरेज पर निर्भर करता है, तो AREarthManager.CheckVpsAvailabilityAsync()
का इस्तेमाल करके VpsAvailabilityPromise
का इस्तेमाल किया जा सकता है. यह एक एसिंक्रोनस टास्क होता है, जो दिए गए हॉरिज़ॉन्टल पोज़िशन पर वीपीएस की उपलब्धता की जांच करता है.
VpsAvailabilityPromise
मिलने के बाद, पोल का इस्तेमाल करके उसका नतीजा पाया जा सकता है.
पोल का नतीजा
InterruptiblePromise
की स्थिति जानने के लिए, VpsAvailabilityPromise.State
का इस्तेमाल करें. ये तीन अलग-अलग स्थितियां होती हैं:
Pending
: कार्रवाई अभी पूरी नहीं हुई है, इसलिए कोई नतीजा नहीं मिला है.Cancelled
:VpsAvailabilityPromise.Cancel()
ने कार्रवाई रद्द कर दी है. रजिस्टर किए गए किसी भी कॉलबैक पर कभी कॉल नहीं किया जाएगा.Done
: कार्रवाई पूरी हो गई है. नतीजा पाने के लिएVpsAvailabilityPromise.Result
का इस्तेमाल करें.
टास्क पूरा होने तक, VpsAvailabilityPromise.State
को देखा जा सकता है.
InterruptiblePromise
के मैंडेट को रद्द करें
InterruptiblePromise
को रद्द करने की कोशिश करने के लिए, VpsAvailabilityPromise.Cancel()
का इस्तेमाल करें. थ्रेड एक साथ कई काम करने की वजह से, हो सकता है कि रद्द करने की आपकी कोशिश पूरी न हो पाए.
VPS कवरेज के बिना Geospatial API का इस्तेमाल करना
Geospatial API का इस्तेमाल उन इलाकों में भी किया जा सकता है जहां वीपीएस कवरेज नहीं है. बाहर के वातावरण में बहुत कम या कोई रुकावट नहीं होने पर, जीपीएस को बहुत ज़्यादा सटीक पोज़ देने के लिए काफ़ी मदद मिल सकती है.
आगे क्या करना है
- असल दुनिया में उपयोगकर्ता के डिवाइस की जगह की सटीक जानकारी पाने के लिए, डिवाइस के कैमरे का जियोस्पेशियल पोज़ पाएं.