Если вы посмотрите в Руководстве по программированию приложений iPhone 3.0 под Device Support
, вы найдете информацию о магнитометре (он же компас). Как только вы начнете получать информацию о курсе (с помощью метода didUpdateHeading
), вы сможете получить данные компаса, а затем использовать их для вычисления правильного значения преобразования вращения, которое будет применяться к представлению карты.
Не уверен, что обрабатывает масштабирование. В стандартном приложении карты я заметил, что отслеживание курса по компасу прекращается, как только вы начинаете масштабирование.
Кроме того, имейте в виду, что направления местоположения указаны в градусах, а углы поворота преобразования - в радианах.