5

Với iOS5, tần suất cập nhật của đọc dữ liệu thô của Compass, CLHeading, giảm đáng kể. Điều này khiến ứng dụng thực tế tăng cường của tôi không sử dụng được, bởi vì nó phụ thuộc vào việc đọc gần đúng thời gian thực của dữ liệu la bàn thô.iOS5: tỷ lệ cập nhật thấp của các bài đọc CLHeading -> chuyển sang CoreMotion là vấn đề

Vì vậy, tôi hiện đang cố gắng chuyển sang CoreMotion. Điều này cung cấp dữ liệu từ kế thường xuyên hơn Cập nhật:

cmManager = [[CMMotionManager alloc] init];  
[cmManager startMagnetometerUpdates]; 

sau đó tôi có thể truy cập vào magneticField dữ liệu bất cứ lúc nào tôi muốn trong khi chơi game:

CMMagneticField magneticField = cmManager.magnetometerData.magneticField; 

Tôi có vấn đề như sau: Dữ liệu trong CMMagneticField được trong một đơn vị khác, sau đó CLHeading dữ liệu x/y/z.

Tôi muốn chuyển đổi dữ liệu CMMagneticField x/y/z sang các đơn vị giống như CLHeading/CLHeadingComponentValue - để có thể sử dụng mã AR hiện tại của tôi.

Dưới đây là một vài bài đọc:

7.3 /17.64/-39.58   CLHeadingComponentValue X/Y/Z 
-103.12/88.51/-20.05   CMMagneticField 

-10.81/-34.9/-18.6   CLHeadingComponentValue X/Y/Z 
-121.00/ 33.29/3.1   CMMagneticField  

-20.8/-38.0/ -4.0   CLHeadingComponentValue X/Y/Z 
-132.9/ 32.2/14.4   CMMagneticField 

Trả lời

0

Các tham khảo trong tài liệu liên quan đến điều này mà CLHeadingComponentValue báo cáo là bình thường đến phạm vi -128 đến 128 . Nhưng đối với tôi có vẻ như một số loại hiệu chuẩn khác được áp dụng.

Các vấn đề liên quan