To be clear my problem is not reading the heading values in landscape right or left. It works fine I'm using a location manager and subtract 90° to read the heading value in landscape right and 270° in landscape left, by default the device is always considered in Portrait mode, that is why we have to make this adjustments.
I recently developed a location-based augmented reality app and what I'm experiencing is, there is always an offset with the heading values between landscape right and left. I tested "on field", the offset is approximately 12°.
I want this app to be as accurate as possible, I mean since we rely on sensor data here and this is the first release, less than 10° is acceptable (even 15° in the worst cases). But if we add to the existing error an offset of 12° it is quite annoying.
Does anyone have an explanation for this? I would like to have one even if I cannot fix it right now. So now I'm trying to "fix" this by adding 12° to landscape left, or maybe I should rather subtract 12° to landscape right, well I don't know!
Any experiences on this issue?
My experience is that the compass is not very good, especially in landscape view. I would NOT subtract 12° in one view since the difference might something else on another device. I suggest that you test on one or two other iPhones before proceeding.
Also, are you setting the view of the LocationManager?
CLLocationManager *compassManager;
compassManager.headingOrientation =CLDeviceOrientationLandscapeLeft;