Die Geospatial API verwendet eine Kombination aus VPS- und GPS-Daten, um präzise raumbezogene Posen zu erstellen. Die API kann überall verwendet werden, wo das Gerät seinen Standort ermitteln kann:
- In Gebieten mit geringer GPS-Genauigkeit, z. B. in Innenräumen und dicht bebauten Städten, setzt die API auf eine VPS-Abdeckung, um Positionen mit hoher Genauigkeit zu erzeugen.
- In Umgebungen im Freien mit wenigen oder gar keinen Hindernissen über dem Kopf kann die Geospatial API die verfügbaren GPS-Standortdaten verwenden, um raumbezogene Posen mit hoher Genauigkeit zu erstellen.
Sie können die Verfügbarkeit von VPS an einer bestimmten horizontalen Position ermitteln, bevor die AR-Sitzung beginnt, und sie verwenden, um spezifischere Funktionen zu erstellen, z. B. um die Schaltfläche „AR aktivieren“ nur dann einzublenden, wenn VPS verfügbar ist.
ARCore API aktivieren
Ihre App muss die ARCore API aktivieren, um die Verfügbarkeit von VPS zu prüfen.
Verfügbarkeit von VPS in Ihrer App prüfen
Die Geospatial API kann überall verwendet werden, wo das Gerät seinen Standort ermitteln kann. Wenn Ihre AR-Nutzung von der VPS-Abdeckung abhängt, können Sie AREarthManager.CheckVpsAvailabilityAsync()
verwenden, um eine VpsAvailabilityPromise
zu erhalten. Das ist 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
Verwenden Sie VpsAvailabilityPromise.State
, um den Status von InterruptiblePromise
abzurufen. Es gibt drei verschiedene Status:
Pending
: Der Vorgang ist noch nicht abgeschlossen, sodass kein Ergebnis bekannt ist.Cancelled
: Der Vorgang wurde vonVpsAvailabilityPromise.Cancel()
abgebrochen. Registrierte Callbacks werden nie aufgerufen.Done
: Der Vorgang ist abgeschlossen. Verwenden SieVpsAvailabilityPromise.Result
, um das Ergebnis abzurufen.
Sie können die Suche in VpsAvailabilityPromise.State
fortsetzen, bis die Aufgabe abgeschlossen ist.
InterruptiblePromise
abbrechen
Versuchen Sie mit VpsAvailabilityPromise.Cancel()
, InterruptiblePromise
abzubrechen. Aufgrund der Threadparallelität ist es möglich, dass Ihr Abbruchversuch nicht erfolgreich ist.
Geospatial API ohne VPS-Abdeckung verwenden
Die Geospatial API kann auch in Regionen verwendet werden, in denen keine VPS-Abdeckung vorliegt. In Außenbereichen mit wenigen oder gar keinen Hindernissen über dem Kopf reicht das GPS unter Umständen aus, um eine Position mit hoher Genauigkeit zu erstellen.
Nächste Schritte
- Räumliche Position der Gerätekamera festlegen, um den genauen Standort des Geräts in der realen Welt zu bestimmen