Как создать компас, где стрелка всегда указывает на определенную позицию GPS?(в Android) - PullRequest
2 голосов
/ 22 июля 2011

Я хотел бы написать приложение в Android, где вы видите указатель, который всегда указывает на определенную позицию GPS. Поэтому, когда вы поворачиваете свой телефон или движетесь вокруг указателя, он все равно будет указывать на позицию GPS.

Но я понятия не имею, как делать вычисления с положением GPS и сенсорными данными компаса.

Кто-нибудь может дать мне несколько советов, с чего начать, или, может быть, есть пример, как это сделать?

Ответы [ 2 ]

3 голосов
/ 22 июля 2011

Для этого вам нужно знать несколько вещей:

  • Где вы хотите указать.
  • Где вы находитесь.
  • Какую проекцию карты вы используете (метры, градусы и т. Д.)

Используйте Android LocationManager и зарегистрируйтесь для обновления позиции. Когда появятся эти обновления, вам нужно извлечь положение и направление (также можно использовать компас для направления) и преобразовать их в используемый вами формат карты. Обычно это сферическая вариация Меркатора для карт Google.

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

1 голос
/ 21 сентября 2011

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

У вас есть

  • ваша фактическая позиция из onLocationChanged (метод класса Location)
  • координаты (широта / долгота) до точкина

Теперь вы можете

  • создать наложение в googleMaps и нарисовать линию от вашей позиции до точки, на которую нужно указать.

или если вы хотите более короткую линию (или стрелку)

  • "BearingTo ()" (снова из класса Location) указывает направление, на которое нужно указать.Нарисуйте линию (или стрелку) и поверните ее в этом направлении
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...