Я установил код из Как: получить данные с датчика Compass для Windows Phone на разблокированный для меня телефон HTC Trophy 7 под управлением Mango.
Возвращаемое магнитное направление на север кажется правильным. Я сравнил его с традиционным компасом и приложением для компаса на iPhone, и его заголовок более или менее одинаков - «дай или получи».
Значение, возвращаемое из CompassReading. TrueHeading , однако, похоже, значительно отключено.
Для моего местоположения я посмотрел магнитное склонение как:
Широта: 41 ° 22 '36,5 "ю.ш.
Долгота: 173 ° 16 '34,9 "в.д.
Магнитное склонение: 22 ° 2 'ВОСТОК
Склонение положительно
Наклон: -66 ° 49 '
Напряженность магнитного поля: 56492,9 нТ
Где, когда телефон показывает магнитное склонение около 130 ° восточной долготы.
Я не верю, что моя реализация демонстрационного кода вызвала проблему, поскольку я получаю те же неверные значения для ряда других приложений с рынка.
Как значение TrueHeading устанавливается телефоном / фреймворком?
Нужно ли что-то делать со службами locaiton, чтобы можно было определить правильное значение?
Я пытался попросить HTC о поддержке , но они указали, что это, вероятно, проблема с ОС.
Я также задавал аналогичный вопрос на Microsoft Ответы - HTC Trophy 7 не может правильно определить истинный север при использовании компаса