ב-Geospatial API נעשה שימוש בשילוב של נתוני VPS ו-GPS כדי ליצור טרנספורמציות גיאו-מרחביות ברמת דיוק גבוהה. אפשר להשתמש ב-API בכל מקום שבו המכשיר יכול לקבוע את המיקום שלו:
- באזורים שבהם רמת הדיוק של ה-GPS נמוכה, כמו מקומות סגורים וסביבות עירוניות צפופות, ה-API יתבסס על כיסוי VPS כדי ליצור טרנספורמציות עם דיוק גבוה.
- בסביבות חוץ עם מעט או בלי חסימות מעל הראש, יכול להיות ש-Geospatial API יוכל להשתמש בנתוני המיקום הזמינים של GPS כדי ליצור טרנספורמציות גיאו-מרחביות ברמת דיוק גבוהה.
אפשר לקבוע את הזמינות של VPS במיקום אופקי נתון לפני שסשן ה-AR מתחיל, ולהשתמש בו כדי ליצור חוויות ספציפיות יותר. לדוגמה, כדי להציג 'Enter AR' רק כאשר VPS זמין.
הפעלה של ARCore API
כדי לבדוק את הזמינות של VPS, צריך להפעיל את ARCore API באפליקציה.
בודקים את הזמינות של VPS באפליקציה
ניתן להשתמש ב-Geospatial API בכל מקום שבו המכשיר יכול לקבוע את המיקום שלו. אם חוויית ה-AR מבוססת על הכיסוי של VPS, אתם יכולים להשתמש ב-GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
כדי לקבל משימה אסינכרונית GARVPSAvailabilityFuture
, שבודקת את הזמינות של VPS במיקום אופקי נתון.
אחרי שתקבלו את GARVPSAvailabilityFuture
, תוכלו לקבל את התוצאה שלו באמצעות סקרים או באמצעות קריאה חוזרת.
בודקים את התוצאה
צריך להשתמש ב-GARFuture.state
כדי לקבל את המצב של Future
. יש שלושה מצבים שונים:
GARFutureStatePending
: הפעולה עדיין לא הושלמה, ולכן אין תוצאה ידועה.GARFutureStateCancelled
: הפעולה בוטלה על ידיGARFuture#cancel
. אף פעם לא תתבצע קריאה חוזרת (callback) רשומה.GARFutureStateDone
: הפעולה הושלמה. כדי לקבל את התוצאה, משתמשים בפונקציהGARVPSAvailabilityFuture.result
.
אפשר להמשיך לבדוק את GARFuture.state
עד שהמשימה תושלם.
קבלת התוצאה באמצעות שיחה חוזרת
אפשר גם לקבל את התוצאה של Future
באמצעות התקשרות חזרה. משתמשים ב-GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
ומספקים completionHandler
. הפונקציה completionHandler
תיקרא בשרשור הראשי זמן קצר אחרי ש-Future
יהיה במצב GARFutureStateDone
.
ביטול הFuture
אפשר ללחוץ על GARFuture#cancel
כדי לנסות לבטל את Future
. בגלל עיבוד מקבילי של חוטים, יכול להיות שניסיון הביטול לא יצליח בפועל.
הפונקציה GARFuture#cancel
מחזירה YES
אם הניסיון הצליח, ו-NO
אחרת.
שימוש ב-Geo-patial API ללא כיסוי VPS
אפשר להשתמש ב-Geospatial API גם באזורים ללא כיסוי של VPS. בסביבות שבהן יש מעט הפרעות מעל המצח או שאין בהן הפרעות מלמעלה, יכול להיות שה-GPS מספיק כדי ליצור תנוחה ברמת דיוק גבוהה.
המאמרים הבאים
- להשיג את המיקום הגיאו-מרחבי של מצלמת המכשיר כדי לקבוע את המיקום המדויק של המכשיר של המשתמש בעולם האמיתי.