Für die Geospatial API wird eine Kombination aus VPS- und GPS-Daten verwendet, um präzise Geospatial-Posen zu erstellen. Die API kann überall dort verwendet werden, wo das Gerät seinen Standort bestimmen kann:
- In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und in dicht bebauten städtischen Gebieten, nutzt die API die VPS-Abdeckung, um hochpräzise Posen zu generieren.
- In Außenbereichen mit wenigen oder gar keinen Hindernissen kann die Geospatial API verfügbare GPS-Standortdaten verwenden, um raumbezogene Posen mit hoher Genauigkeit zu generieren.
Sie können die VPS-Verfügbarkeit an einer bestimmten horizontalen Position vor Beginn der AR-Sitzung ermitteln und sie verwenden, um spezifischere Funktionen zu erstellen. So können Sie beispielsweise die Schaltfläche „AR starten“ nur anzeigen, 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.
Verfügbarkeit von VPS in Ihrer App prüfen
Die Geospatial API kann überall dort verwendet werden, wo das Gerät seinen Standort ermitteln kann. Wenn die AR-Funktion von der VPS-Abdeckung abhängt, können Sie AREarthManager.CheckVpsAvailabilityAsync()
verwenden, um eine VpsAvailabilityPromise
abzurufen. Dabei handelt es sich um eine asynchrone Aufgabe, die die VPS-Verfügbarkeit an einer bestimmten horizontalen Position prüft.
Sobald Sie die VpsAvailabilityPromise
haben, können Sie das Ergebnis durch Abfragen abrufen.
Ergebnis abfragen
Mit VpsAvailabilityPromise.State
können Sie den Status der InterruptiblePromise
abrufen. Es gibt drei Status:
Pending
: Der Vorgang ist noch nicht abgeschlossen. Es ist also kein Ergebnis verfügbar.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 VpsAvailabilityPromise.State
weiterhin prüfen, bis die Aufgabe abgeschlossen ist.
InterruptiblePromise
stornieren
Versuchen Sie mit VpsAvailabilityPromise.Cancel()
, InterruptiblePromise
zu stornieren. Aufgrund der Threadparallelität ist es möglich, dass der 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 Außenumgebungen mit wenigen oder gar keinen Hindernissen über Kopf reicht das GPS möglicherweise aus, um eine Pose mit hoher Genauigkeit zu generieren.
Nächste Schritte
- Die geografische Position der Kamera des Geräts abrufen, um den genauen Standort des Geräts des Nutzers in der realen Welt zu ermitteln.