Один из лучших компонентов Android Architechure, представленный Google, удовлетворит все ваши требования ViewModel.
Это предназначено для хранения и управления данными, относящимися к пользовательскому интерфейсу, в режиме жизненного цикла, а также позволит выживать данным при повороте экрана.
class MyViewModel : ViewModel() {
Пожалуйста, обратитесь сюда: https://developer.android. ком / тема / библиотеки / архитектура / ViewModel
Если вам нужно выполнить более сложные географические вычисления, вы можете изучить PostGIS для Postgresql или MySQL Spatial Extensions для MySQL. В противном случае должен работать float (двойная точность может быть хорошей идеей).
Изменить: Похоже, что библиотека GeoRuby включает расширение Rails для работы с пространственными / ГИС-расширениями для обоих из вышеупомянутых баз данных.
Я бы предложил использовать числа с плавающей запятой, хотя на самом деле это не имеет большого значения. С поплавками легче производить расчеты, если вы когда-нибудь захотите этого в будущем.
Обычно вы хотите, чтобы широта и долгота сохранялись в самом большом типе с плавающей запятой у тебя есть. На некоторых широтах (например, около экватора) очень небольшие изменения долготы могут соответствовать большим различиям в расстоянии от поверхности.
Я полагаю, что если это поле, в котором вы никогда не захотите делать какие-либо математические вычисления, вы можно использовать строку. Но я бы этого не сделал.
Если вы не используете базу данных с пространственной поддержкой, Google Maps рекомендует использовать числа с плавающей запятой размером (10,6). Это дает вам 6 цифр после десятичной дроби - если вы хотите большей точности, вы можете внести соответствующие изменения.