Я хочу изменить ориентацию OSMdroid MapView в направлении, в котором движется пользователь (рассчитано с Location.bearingTo
между предыдущим и текущим местоположением пользователя на каждом onLocationChanged
и конвертируется в нормальные градусы вместо -180/180 ° к востоку от Истинного Севера).Изменить ориентацию MapView
Это направление верное, я поворачиваю изображение стрелки в этом направлении, и оно обязательно направляется в нужное направление.
Однако, когда я хочу ориентировать MapView на это userDirection, используя метод setMapOrientation
(задокументированный here), это не работает так, как я хочу. Когда я ориентирую карту в направлении пользователя, изображение стрелки должно всегда указывать на север, правильно? Потому что это желание, которого я хочу достичь: чтобы казалось, что стрелка всегда указывает вперед (например, трекер GPS: ваше местоположение на GPS всегда представлено значком, идущим вперед, моя стрелка указывает на все виды направлений, потому что ориентация карты неверна).
Я предполагаю, что osmdroid.MapView orientation
ожидает другого рода значения степени, но я попытался перейти на восток от истинных северных градусов, не работал. Или моя логика совершенно неверна, и это - работает правильно.
Как установить ориентацию для MapView
так, чтобы она всегда была направлена в текущее направление пользователя, чтобы стрелка всегда указывала вперед (и не двигалась назад, вправо или влево, ...)?
Спасибо за ответ, я реализую его прямо сейчас, но у меня есть один вопрос: какая польза от переменной 'enableCompassHeadUp'? Что он проверяет? – Fluppe
Его просто логическое значение для включения или выключения датчика, так что у вас может быть опция On/Off – zIronManBox
Переменная 'Constance.ROTATION_SENSITIVITY', откуда она извлекается? – Fluppe