Nachdem Sie die Einstellungen Ihrer App für die Verwendung der Geospatial API konfiguriert haben, können Sie Earth.getCameraGeospatialPose()
aufrufen, um ein GeospatialPose
-Objekt abzurufen, das die raumbezogene Standortbestimmung des Geräts für die Kamera im letzten Frame beschreibt. Diese Position, die in einem Earth
-Objekt verwaltet wird, enthält die folgenden Informationen:
- Standort in Breiten- und Längengrad
- Höhe
- Eine Ausrichtung, die ungefähr der Richtung entspricht, die der Nutzer im EUS-Koordinatensystem sieht, wobei X+ nach Osten, Y+ nach oben und Z+ nach Süd zeigt
Tracking-Status prüfen
Raumbezogene Werte sind nur gültig, wenn Earth.TrackingState
den Wert TrackingState.TRACKING
hat. Achten Sie darauf, alle Geospatial API-Aufrufe in einem Earth.TrackingState
-Kontrollblock zu kapseln.
Java
if (earth != null && earth.getTrackingState() == TrackingState.TRACKING) { GeospatialPose cameraGeospatialPose = earth.getCameraGeospatialPose(); // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Kotlin
if (earth.trackingState == TrackingState.TRACKING) { val cameraGeospatialPose = earth.cameraGeospatialPose // cameraGeospatialPose contains geodetic location, rotation, and confidences values. }
Wenn Earth.TrackingState
nicht zu TrackingState.TRACKING
wird, kann Earth.TrackingState
TrackingState.PAUSED
oder TrackingState.STOPPED
sein. Wenn keine dieser Bedingungen erfüllt ist, klicken Sie auf Earth.Earthstate
. Es werden weitere Fehlerstatus angezeigt, die das Tracking des Objekts Earth
verhindern.
Passe die Pose für mehr Genauigkeit an
Wenn das Gerät in der Standardausrichtung aufrecht steht, sind die Neigungs- (X+) und Rollwinkel (Z+) aufgrund der natürlichen Ausrichtung beim AR-Tracking in der Regel präzise. Der Gierwinkel (Y+) kann jedoch je nach Verfügbarkeit der VPS-Daten und zeitlichen Bedingungen am Standort variieren. Ihre App muss möglicherweise Anpassungen vornehmen, um die Genauigkeit zu verbessern.
GeospatialPose.getOrientationYawAccuracy()
bietet eine Genauigkeitsschätzung für die Gierwinkel (Y+) für einen bestimmten GeospatialPose
. Die Gierwinkel-Genauigkeit ist eine Zahl, die den Radius des Konfidenzniveaus des 68. Perzentils um die von GeospatialPose.getEastUpSouthQuaternion()
zurückgegebenen Gierwinkel in Grad angibt. Mit anderen Worten: Es besteht eine Wahrscheinlichkeit von 68 %, dass der tatsächliche Gierwinkel des GeospatialPose
genau ist.
Größere Werte weisen auf eine geringere Genauigkeit hin. Wenn der geschätzte Gierwinkel beispielsweise 60 Grad beträgt und die Gierwinkel-Genauigkeit 10 Grad beträgt, besteht eine Wahrscheinlichkeit von 68 %, dass der tatsächliche Gierwinkel zwischen 50 und 70 Grad liegt.
Nächste Schritte
- Platzieren Sie einen raumbezogenen Anker, indem Sie seine raumbezogene Position abrufen.