Für die Geospatial API wird eine Kombination aus VPS- und GPS-Daten verwendet, um präzise Geospatial-Posen zu erstellen. Die API kann an jedem Ort verwendet werden, an dem das Gerät seinen Standort ermitteln kann:
- In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dichten städtischen Umgebungen, wird die API auf die VPS-Abdeckung angewiesen, um hochpräzise Posen zu generieren.
- In Umgebungen im Freien mit wenig oder gar keinen Hindernissen kann die Geospatial API die verfügbaren GPS-Standortdaten verwenden, um raumbezogene Posen mit hoher Genauigkeit zu erstellen.
Sie können die VPS-Verfügbarkeit an einer bestimmten horizontalen Position vor Beginn der AR-Sitzung ermitteln und damit spezifischere Erlebnisse schaffen, z. B. um eine „Enter AR“ zu präsentieren. wenn VPS verfügbar ist.
ARCore API aktivieren
In Ihrer App muss die ARCore API aktiviert sein, um die VPS-Verfügbarkeit zu prüfen.
VPS-Verfügbarkeit in deiner App prüfen
Die Geospatial API kann überall dort verwendet werden, wo der Standort des Geräts ermittelt werden kann. Wenn die AR-Abdeckung von der VPS-Abdeckung abhängt, können Sie mit AREarthManager.CheckVpsAvailabilityAsync()
eine VpsAvailabilityPromise
abrufen. Das ist eine asynchrone Aufgabe, die die VPS-Verfügbarkeit an einer bestimmten horizontalen Position prüft.
Sobald Sie das VpsAvailabilityPromise
haben, können Sie das Ergebnis durch Abfragen abrufen.
Ergebnis abfragen
Verwenden Sie VpsAvailabilityPromise.State
, um den Status von InterruptiblePromise
abzurufen. Es gibt drei verschiedene Status:
Pending
: Der Vorgang ist noch nicht abgeschlossen, daher ist kein Ergebnis bekannt.Cancelled
: Der Vorgang wurde vonVpsAvailabilityPromise.Cancel()
abgebrochen. Registrierte Callbacks werden niemals aufgerufen.Done
: Der Vorgang ist abgeschlossen. Verwenden SieVpsAvailabilityPromise.Result
, um das Ergebnis zu erhalten.
Sie können weiterhin in VpsAvailabilityPromise.State
nachsehen, bis die Aufgabe abgeschlossen ist.
InterruptiblePromise
kündigen
Versuchen Sie mit VpsAvailabilityPromise.Cancel()
, InterruptiblePromise
zu stornieren. Aufgrund der Thread-Parallelität ist es möglich, dass Ihr Abbruchversuch nicht erfolgreich ist.
Geospatial API ohne VPS-Abdeckung verwenden
Die Geospatial API kann auch in Gebieten eingesetzt werden, die keine VPS-Abdeckung haben. In Umgebungen mit wenig oder gar keinen Hindernissen im Freien kann GPS ausreichen, um eine Pose mit hoher Genauigkeit zu generieren.
Nächste Schritte
- Rufen Sie die räumlich-geografische Position der Gerätekamera ab, um den genauen Standort des Geräts in der realen Umgebung zu bestimmen.