Как сравнить программно полученные координаты (широта, долгота) с координатами, хранящимися в файле CSV - PullRequest
0 голосов
/ 09 января 2020

Используя Location Manager, я получаю местоположение устройства пользователя (широту и долготу) одним нажатием кнопки. У меня также есть координаты, хранящиеся в файле CSV (data.csv), который я помещаю в папку «Активы». Чтобы различить guish два, я использую Lat_u, Long_u для местоположения пользовательского устройства и Lat_c, Long_c для координаты в файле CSV. Data.CSV не нуждается в обновлениях и может быть экспортирован с приложением. Я хочу сравнить местоположение устройства пользователя с координатами местоположения в CSV. Когда пользователь подходит к любому месту в файле CSV, программа returns true и отправляет его placeName. Формат файла CSV следующий:

lat_c, long_c, placeName
37.004934,-122.783378, place1
37.004891,-122.786897, place2
37.005580,-122.786575, place3
37.003970,-122.787734, place4

onClickListner, у меня есть следующее:

LocationManager lm = (LocationManager) getContext().getSystemService(Context.LOCATION_SERVICE);
LocationListener ll = new myLocationlistner();
lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, ll);

И при обновлении местоположения у меня есть следующее:

       public void onLocationChanged(Location location) {
            if (location !=null)
            {

                String lat_u=String.format("%.6f",location.getLatitude());
                String long_u=String.format("%.6f",location.getLongitude());

            }
        }

Новичок в Android и java, может кто-нибудь дать мне пример того, как сравнить местоположение устройства пользователя с координатами в файле csv, а затем вернуть true или false в зависимости от того, как близко устройство пользователя. Если значение true, указать имя пользователя, к которому ближе устройство?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...