2012-01-22 2 views
1

Мне нужно сделать некоторые вычисления, используя пользовательский lat/long и некоторые значения, хранящиеся в db. Проблема в том, что Location.getLatitude() возвращает значение, подобное 4119778.0, а мои значения в db сохраняются как 41.16753.Форматы широты и долготы android

Я попытался посмотреть на функции Location.convert, но я не могу найти что-либо.

Как я могу сделать значения в одном формате?

ответ

2

Если ваш тип в базе данных установлен в двойное, это не должно быть проблемой. И Location.getLatitude() возвращает normaly значение от - 50 до +50. Можете ли вы дать нам код? Мне не нужно было форматировать, когда я использовал getLatitude() и сохранил его в базе данных.

+0

Вы правы. Это была глупая ошибка. Я копировал/вставлял координаты по умолчанию в эмулятор с неправильным разделителем с разделителями (вместо,). Теперь все работает нормально. – brpaz

0

getLatitude() и getLongitude() возвращают двойники, представляющие степени, дробная часть - это минуты и секунды, представленные как десятичная дробь.

Обязательно объявите тип столбца REAL и используйте getFloat() для чтения столбцов из курсора после запроса.