ב-Geo-Space API נעשה שימוש בשילוב של נתוני VPS ו-GPS כדי ליצור מיקומים גיאו-מרחביים ברמת דיוק גבוהה. ניתן להשתמש ב-API בכל מקום שבו המכשיר יכול לקבוע את המיקום שלו:
- באזורים שרמת הדיוק של ה-GPS שלהם נמוכה, כמו אזורים סגורים וסביבות עירוניות צפופות, ה-API יסתמך על כיסוי VPS כדי ליצור תנוחות ברמת דיוק גבוהה.
- בסביבות חיצוניות שבהן יש מעט הפרעות ממבט על, או שאין בהן הפרעות מצופה, יכול להיות שה-API הגיאו-מרחבי יוכל להשתמש בנתוני המיקום הזמינים לפי ה-GPS כדי ליצור מיקומים גיאו-מרחביים ברמת דיוק גבוהה.
אפשר לקבוע את הזמינות של VPS במיקום אופקי נתון לפני שסשן ה-AR מתחיל, ולהשתמש בו כדי ליצור חוויות ספציפיות יותר. לדוגמה, כדי להציג 'Enter AR' רק כאשר VPS זמין.
הפעלה של ARCore API
כדי לבדוק את הזמינות של VPS, האפליקציה צריכה להפעיל את ARCore API.
בודקים את הזמינות של VPS באפליקציה
ניתן להשתמש ב-Geospatial API בכל מקום שבו המכשיר יכול לקבוע את המיקום שלו. אם חוויית ה-AR מבוססת על הכיסוי של VPS, אתם יכולים להשתמש ב-AREarthManager.CheckVpsAvailabilityAsync()
כדי לקבל משימה אסינכרונית VpsAvailabilityPromise
, שבודקת את הזמינות של VPS במיקום אופקי נתון.
אחרי שמקבלים את ה-VpsAvailabilityPromise
, אפשר לקבל את התוצאה שלו באמצעות סקרים.
סקר את התוצאה
צריך להשתמש ב-VpsAvailabilityPromise.State
כדי לקבל את המצב של InterruptiblePromise
. יש שלושה מצבים שונים:
Pending
: הפעולה עדיין לא הושלמה ולכן אין תוצאה ידועה.Cancelled
: הפעולה בוטלה על ידיVpsAvailabilityPromise.Cancel()
. אף פעם לא תתבצע קריאה חוזרת (callback) רשום.Done
: הפעולה הושלמה. כדי לקבל את התוצאה, משתמשים בפונקציהVpsAvailabilityPromise.Result
.
אפשר להמשיך לבדוק את VpsAvailabilityPromise.State
עד שהמשימה תושלם.
ביטול של InterruptiblePromise
אפשר ללחוץ על VpsAvailabilityPromise.Cancel()
כדי לנסות לבטל את InterruptiblePromise
. בגלל שרשורים מקבילים, יכול להיות שניסיון הביטול לא יצליח.
שימוש ב-Geo-patial API ללא כיסוי VPS
אפשר להשתמש ב-Geospatial API גם באזורים שאין להם כיסוי של VPS. בסביבות חיצוניות שבהן אין הפרעות מעל הרצפה או שאין בהן הפרעות מצד ה-GPS, ייתכן שה-GPS מספיק כדי ליצור תנוחה ברמת דיוק גבוהה.
המאמרים הבאים
- להשיג את המיקום הגיאו-מרחבי של מצלמת המכשיר כדי לקבוע את המיקום המדויק של המכשיר של המשתמש בעולם האמיתי.