ב-Geospatial API נעשה שימוש בשילוב של נתוני VPS ו-GPS כדי ליצור טרנספורמציות גיאו-מרחביות ברמת דיוק גבוהה. ניתן להשתמש ב-API בכל מקום שבו המכשיר יכול לקבוע את המיקום שלו:
- באזורים שבהם רמת הדיוק של ה-GPS נמוכה, כגון שטחים סגורים וסביבות עירוניות צפופות, ה-API יסתמך על כיסוי VPS כדי לבצע טרנספורמציות ברמת דיוק גבוהה.
- בסביבות חיצוניות שבהן יש מעט הפרעות תקורה או ללא הפרעות, ה-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
עד שהמשימה תושלם.
קבלת התוצאה באמצעות קריאה חוזרת (callback)
אפשר גם לקבל את התוצאה של Future
באמצעות התקשרות חזרה. משתמשים ב-GARSession#checkVPSAvailabilityAtCoordinate:completionHandler:
ומציינים completionHandler
. תתבצע קריאה ל-completionHandler
הזה ב-thread הראשי זמן קצר אחרי שמצב Future
ישתנה ל-GARFutureStateDone
.
ביטול של Future
אפשר ללחוץ על GARFuture#cancel
כדי לנסות לבטל את Future
. בגלל שרשורים מקבילים, יכול להיות שניסיון הביטול לא יצליח.
הפונקציה GARFuture#cancel
מחזירה YES
אם הניסיון הסתיים בהצלחה. אחרת, הפונקציה NO
.
שימוש ב-Geo-patial API ללא כיסוי VPS
אפשר להשתמש ב-Geospatial API גם באזורים שאין להם כיסוי של VPS. בסביבות חיצוניות שבהן אין הפרעות מעל הרצפה או שאין בהן הפרעות מצד ה-GPS, ייתכן שה-GPS מספיק כדי ליצור תנוחה ברמת דיוק גבוהה.
המאמרים הבאים
- להשיג את המיקום הגיאו-מרחבי של מצלמת המכשיר כדי לקבוע את המיקום המדויק של המכשיר של המשתמש בעולם האמיתי.