Android компас: разные значения азимута в зависимости от высоты тона
Я разрабатываю приложение, и мне нужно использовать камеру и компас одновременно. Проблема заключается в том, что значение азимута изменяется в зависимости от значения высоты тона (другими словами, держу ли я телефон или кладу его на стол), и кажется, что между этими двумя значениями есть математическая корреляция: указывая на 180° нет различий... в противном случае есть разрыв даже 20-30°.
Я реализовал компас, используя Sensor.TYPE_ORIENTATION
и сочетание Sensor.TYPE_ACCELERATION
+ Sensor.TYPE_MAGNETIC_FIELD
но ничего не изменилось.
ПРИМЕЧАНИЕ: я говорю о поле, а не о крене. Очевидно, если повернуть телефон влево или вправо, я должен скорректировать результат с +-90°.
Я использую LG P500 (Optimus One) для тестов. Это проблема моего устройства? Или я что-то упустил?
Благодарю.
редактировать: узнал, что кто-то еще уже задавал тот же вопрос... все еще не решен https://stackru.com/questions/10224951/android-compass-in-extreme-circumstances