Android компас

В настоящее время я занимаюсь разработкой приложения, которое определяет местоположение пользователя и определяет, какая автобусная остановка находится ближе всего, а затем показывает отклонения от этой остановки на экране. Теперь я хочу сделать компас, который указывает на эту автобусную остановку, и я не совсем уверен, как этого добиться. Любые рекомендации будут с благодарностью.

2 ответа

Это старый вопрос, но, возможно, это поможет кому-то:

Я разработал небольшой класс помощников: компас помощник

Этот класс обеспечивает направление телефона относительно севера. Он имеет функцию, чтобы получить подшипник между двумя точками. Если вы передадите текущее местоположение телефона в качестве первого местоположения, вы можете получить направление и показать его пользователю.

Не стесняйтесь спрашивать меня или давать обратную связь для помощника.

В примерах для API есть один, который реализует простой компас. Он состоит из следующих классов: CompassActivity, GraphicsActivity и PictureLayout. На рисунке показана простая стрелка, указывающая на магнитный север.

Вы можете использовать GeomagnField.get Declination(), чтобы дать вам отклонение от истинного севера и, таким образом, отрегулировать так, чтобы стрелка указала истинный север.

Предполагая, что вы знаете 1): ваше местоположение (скажем, myLocation), 2): местоположение автобусной остановки (скажем, stopLocation). Вы можете использовать myLocation.bearingTo (stopLocation), чтобы привязать вас к автобусной остановке. Все, что вам нужно сделать, это добавить этот подшипник к компенсированному подшипнику компаса, чтобы стрелка указывала на остановку. (Ориентация на магнитный север находится в event.values ​​[0] в SensorEventListener)

Другие вопросы по тегам