Используя 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, указать имя пользователя, к которому ближе устройство?