در دسترس بودن VPS را در مکان فعلی دستگاه بررسی کنید

Geospatial API از ترکیبی از داده‌های VPS و GPS برای ایجاد تبدیل‌های Geospatial با دقت بالا استفاده می‌کند. API را می توان در هر مکانی که دستگاه قادر به تعیین مکان خود باشد استفاده کرد:

  • در مناطقی با دقت GPS پایین، مانند فضاهای داخلی و محیط های شهری متراکم، API برای ایجاد دگرگونی هایی با دقت بالا به پوشش VPS متکی است.
  • در محیط‌های بیرونی با تعداد کم یا بدون موانع بالای سر، API جغرافیایی ممکن است بتواند از داده‌های موقعیت مکانی GPS موجود برای ایجاد تبدیل‌های مکانی با دقت بالا استفاده کند.

می‌توانید قبل از شروع جلسه AR، در دسترس بودن VPS را در یک موقعیت افقی مشخص تعیین کنید و از آن برای ایجاد تجربیات خاص‌تر استفاده کنید - به عنوان مثال، برای ارائه دکمه "Enter AR" فقط زمانی که VPS در دسترس است.

ARCore API را فعال کنید

برنامه شما باید ARCore API را فعال کند تا در دسترس بودن VPS را بررسی کند.

در دسترس بودن VPS را در برنامه خود بررسی کنید

Geospatial API را می توان در هر مکانی که دستگاه قادر به تعیین مکان خود باشد استفاده کرد. اگر تجربه AR شما به پوشش VPS بستگی دارد، می توانید از GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: برای به دست آوردن GARVPSAvailabilityFuture ، یک کار ناهمزمان که در دسترس بودن VPS را در یک موقعیت افقی مشخص بررسی می کند، استفاده کنید. هنگامی که GARVPSAvailabilityFuture را داشتید، می توانید نتیجه آن را با نظرسنجی یا از طریق یک تماس پاسخ به دست آورید.

نتیجه را نظرسنجی کنید

از GARFuture.state برای به دست آوردن وضعیت Future استفاده کنید. سه حالت مختلف وجود دارد:

  • GARFutureStatePending : عملیات هنوز کامل نشده است، بنابراین هیچ نتیجه ای مشخص نیست.
  • GARFutureStateCancelled : این عملیات توسط GARFuture#cancel لغو شده است. با هر پاسخ تماسی ثبت شده هرگز تماس گرفته نخواهد شد.
  • GARFutureStateDone : عملیات کامل شده است. برای به دست آوردن نتیجه از GARVPSAvailabilityFuture.result استفاده کنید.

می‌توانید GARFuture.state را تا پایان کار ادامه دهید.

نتیجه را از طریق تماس برگشتی بدست آورید

شما همچنین می توانید نتیجه یک Future را از طریق یک تماس پاسخ به دست آورید. از GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: استفاده کنید و یک completionHandler ارائه دهید. این completionHandler به زودی پس از اینکه Future حالت GARFutureStateDone را داشت در رشته اصلی فراخوانی می شود.

Future را لغو کنید

از GARFuture#cancel برای لغو Future استفاده کنید. به دلیل موازی بودن رشته، ممکن است تلاش برای لغو شما واقعاً موفق نباشد. اگر این تلاش موفقیت آمیز بود GARFuture#cancel YES را برمی گرداند و در غیر این صورت NO .

از API Geospatial بدون پوشش VPS استفاده کنید

Geospatial API همچنین در مناطقی که پوشش VPS ندارند قابل استفاده است. در محیط‌های بیرونی که موانع بالای سرشان کم است یا اصلاً وجود ندارد، GPS ممکن است برای ایجاد یک حالت با دقت بالا کافی باشد.

بعدش چی