Geospatial API korzysta z kombinacji danych VPS i danych GPS do generowania wysokiej dokładności pozycji geoprzestrzennych. Interfejsu API można używać w każdym miejscu, w którym urządzenie może określić swoje położenie:
- W obszarach o niskiej dokładności GPS, na przykład w pomieszczeniach wewnątrz i w gęsto zabudowanych środowiskach miejskich, interfejs API do generowania pozycji o wysokiej dokładności będzie wykorzystywać zasięg VPS.
- W środowiskach zewnętrznych, w których jest niewiele przeszkód z powietrza lub nie ma ich wcale, interfejs Geospatial API może korzystać z dostępnych danych o lokalizacji GPS do generowania póz geoprzestrzennych z dużą dokładnością.
Możesz określić dostępność VPS w danej pozycji poziomej przed rozpoczęciem sesji AR i wykorzystać ją do tworzenia bardziej szczegółowych doświadczeń, na przykład do pokazania opcji „Enter AR” (Tryb AR). tylko wtedy, gdy dostępny jest VPS.
Włączanie interfejsu ARCore API
Aby sprawdzić dostępność VPS, musisz włączyć w aplikacji ARCore API.
Sprawdź dostępność VPS w swojej aplikacji
Interfejsu Geospatial API można używać w dowolnym miejscu, w którym urządzenie może określić swoje położenie. Jeśli działanie AR zależy od pokrycia VPS, możesz użyć narzędzia AREarthManager.CheckVpsAvailabilityAsync()
, aby uzyskać VpsAvailabilityPromise
– asynchroniczne zadanie, które sprawdza dostępność VPS w danej pozycji poziomej.
Gdy już masz VpsAvailabilityPromise
, możesz uzyskać wyniki za pomocą ankiet.
Przeprowadź ankietę
Użyj VpsAvailabilityPromise.State
, by uzyskać stan InterruptiblePromise
. Istnieją 3 różne stany:
Pending
: operacja nie została jeszcze zakończona, więc nie są znane żadne wyniki.Cancelled
: operacja została anulowana przez użytkownikaVpsAvailabilityPromise.Cancel()
. Żadne zarejestrowane wywołanie zwrotne nie zostanie nigdy nawiązane.Done
: operacja została zakończona. Aby uzyskać wynik, użyjVpsAvailabilityPromise.Result
.
Możesz sprawdzać pole VpsAvailabilityPromise.State
, dopóki zadanie nie zostanie ukończone.
Anuluj: InterruptiblePromise
Użyj adresu VpsAvailabilityPromise.Cancel()
, aby anulować InterruptiblePromise
. Z powodu równoległości wątków może się zdarzyć, że próba anulowania się nie powiedzie.
Używaj interfejsu Geospatial API bez zasięgu VPS
Interfejsu Geospatial API można też używać na obszarach, które nie mają zasięgu VPS. Na zewnątrz, gdzie jest niewiele przeszkód z góry, lub bez przeszkód, do wygenerowania pozycji z dużą dokładnością wystarczy GPS.
Co dalej?
- Uzyskaj pozycję geoprzestrzenną kamery urządzenia, aby określić dokładną lokalizację urządzenia użytkownika w świecie rzeczywistym.