Uygulamanızın ayarlarını Geospatial API'yi kullanacak şekilde yapılandırdıktan sonra ArEarth_getCameraGeospatialPose
'i çağırarak cihazın, kamera için coğrafi konumunu en son karede açıklayan ArGeospatialPose
kodunu alabilirsiniz. Bir ArEarth
nesnesinde yönetilen bu poz aşağıdaki bilgileri içerir:
- Enlem ve boylam cinsinden ifade edilen konum
- Rakım
- X+ doğu, Y+ yukarı ve Z+ güneyi işaret edecek şekilde kullanıcının EUS koordinat sisteminde baktığı yönü yansıtan yön
İzleme durumunu kontrol etme
Coğrafi değerler yalnızca ArEarth.ArTrackingState
ArTrackingState.AR_TRACKING_STATE_TRACKING
ve ArEarth.ArEarthState
AR_EARTH_STATE_ENABLED
olduğunda geçerlidir. Tüm Geospatial API çağrılarını bir ArEarth.ArTrackingState
kontrol bloğunda sarmaladığınızdan emin olun.
if (ar_earth != NULL) { ArTrackingState earth_tracking_state = AR_TRACKING_STATE_STOPPED; ArTrackable_getTrackingState(ar_session, (ArTrackable*)ar_earth, &earth_tracking_state); if (earth_tracking_state == AR_TRACKING_STATE_TRACKING) { ArGeospatialPose* camera_geospatial_pose = NULL; ArGeospatialPose_create(ar_session, &camera_geospatial_pose); ArEarth_getCameraGeospatialPose(ar_session, ar_earth, camera_geospatial_pose); // camera_geospatial_pose contains geodetic location, rotation, and // confidences values. ArGeospatialPose_destroy(camera_geospatial_pose); } }
ArEarth.ArTrackingState
, ArTrackingState.AR_TRACKING_STATE_TRACKING
değilse ArEarth.ArTrackingState
, AR_TRACKING_STATE_PAUSED
veya AR_TRACKING_STATE_STOPPED
olabilir. Bu koşulların ikisi de doğru değilse ArEarth
nesnesinin izlenmesini engelleyebilecek diğer hata durumlarını gösteren ArEarth.ArEarthState
simgesini kontrol edin.
Pozu doğruluk açısından ayarlayın
Cihaz varsayılan yönde dik olduğunda, AR izlemeyle doğal bir hizalama nedeniyle, perde (X+) ve yuvarlanma (Z+) açıları daha kesin olur. Bununla birlikte, Sapma (Y+) açıları, VPS verilerinin kullanılabilirliğine ve konumdaki zamansal koşullara bağlı olarak değişebilir. Doğruluğu sağlamak için uygulamanızın düzenlemeler yapması gerekebilir.
ArGeospatialPose_getOrientationYawAccuracy()
, belirli bir ArGeospatialPose
için sapma (Y+) açıları için bir doğruluk tahmini sağlar. Yön sapması doğruluğu, ArGeospatialPose_getEastUpSouthQuaternion()
özelliğinden döndürülen sapma açılarının çevresindeki 68. yüzdelik güven düzeyinin yarıçapını derece cinsinden açıklayan bir sayıdır. Diğer bir deyişle, ArGeospatialPose
'in gerçek sapma açısının doğru olma olasılığı% 68'dir.
Daha büyük değerler doğruluk oranının düşük olduğunu gösterir. Örneğin, tahmini sapma açısı 60 derece ve sapma doğruluğu 10 derece ise gerçek sapma açısının 50 ile 70 derece arasında olma olasılığı% 68 olur.
Sırada ne var?
- Çapanın Coğrafi konumunu elde ederek Coğrafi mekansal çapa yerleştirin.