2017-01-17 8 views
1

Я пишу навигационное приложение, и мне требуется поворот камеры вокруг пользователя (вместо того, чтобы просто поворачивать значок пользователя с компасом, камера вращается вокруг пользователя, создавая впечатление, что карта вращается в соответствии с реальной жизнью)Mapbox вращать карту на основе пользовательского подшипника

я никак не мог найти режим по умолчанию для этого я попытался режимы слежения подшипника (GPS и компас), а также режимы отслеживания местоположения:.

mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW); 

Поскольку я не смог получить его работу, я применил специальный компас с базовым фильтром нижних частот, чтобы повернуть камеру вокруг u многосерийный телефильм Однако по мере обновления с Mapbox 4.1.1 до 4.2.1 моя пользовательская реализация нарушилась (поворот стал очень слабым и очень зазубренным).

Я уверен, что есть намного более простой способ сделать это, но у меня есть немного проблемы с этим. Может кто-нибудь, пожалуйста, посоветуйте мне, правильно ли я это делаю, или если есть намного более легкое решение, которое я просматриваю?

Благодарим вас за продвинутый!

ответ

4

Чтобы отслеживать местоположение пользователя и вращать карту ориентации всегда указывает в том же направлении, что и пользователь, использовать эти линии в сочетании:

mapboxMap.getTrackingSettings().setMyLocationTrackingMode(MyLocationTracking.TRACKING_FOLLOW); 

mapboxMap.getTrackingSettings().setMyBearingTrackingMode(MyBearingTracking.COMPASS); 

Примечание для полного кода, я бы рекомендовал проверить out this example.

+2

Спасибо. Как и примечание, в моем случае эта строка сделала разницу: 'map.getTrackingSettings(). SetDismissAllTrackingOnGesture (false);' – SCTaylor

+0

Привет, Я пытаюсь реализовать ту же структуру. Но я получаю свое местоположение из внешней библиотеки. Любой способ выполнить отслеживание пользователей без 'map.setMyLocationEnabled (true);' this line. По некоторым причинам я не хочу, чтобы на карте был установлен указатель myLocation' Mapbox. Любая помощь, пожалуйста? – FARID

+2

Пример ссылки сломан; как мы это делаем сейчас? Похоже, что код был устарел/заменен плагином LocationLayer, но у него нет режима 'FOLLOW'. – HEATH3N

0

Да, как говорит @SCTaylor, вам совершенно необходимо .setDismissAllTrackingOnGesture(false), чтобы сделать эту работу