Расчет угла между пользователем и POI (точками интереса) в Android

1

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

У меня уже есть долгота и широта моего положения и позиции POI, и теперь мне нужен угол между ними.

Вот что я имею:

private float calcAzimuth1(float lat0, float long0, float lat1, float long1)
{
    //user latitude and longitude
    float userLat  = (float) ((lat0  * ((float)Math.PI))/180);
    float userLong = (float) ((long0 * ((float)Math.PI))/180);

    //POI latitude and longitude
    float latT1    = (float) ((lat1  * ((float)Math.PI))/180);
    float longT1   = (float) ((long1 * ((float)Math.PI))/180);

    //angle between them
    float angle=??}
  • 1
    Угол между ними применительно к чему?
  • 0
    Извините я забыл! Применительно к истинному северу!
Показать ещё 1 комментарий
Теги:
azimuth

1 ответ

0

Check bearingTo функция класса местоположения http://developer.android.com/reference/android/location/Location.html#bearingTo(android.location.Location). Вы можете создать два объекта местоположения с вашего Lat/Longs, а затем получить опору между ними.

Другое, что вам может понадобиться, это рассчитать ориентацию устройства и затем объединить их. Это требует прослушивания Датчиков и расчета Севера от полученной информации. проверьте ответ здесь: показания компаса на SGS III

Ещё вопросы

Сообщество Overcoder
Наверх
Меню