2012-01-09 3 views
0

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

+0

Возможный дубликат [Первое приложение для Android - Как получить доступ к компасу] (http://stackoverflow.com/questions/3740228/first-android-app-how-to-access-the-compass) –

ответ

0

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

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

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

0

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

Я разработал небольшой вспомогательный класс: Compass Assistant

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

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