да, если у вас есть узел главного дерева со всеми вашими usersID и внутри каждого userID у вас есть широта и долгота, вы можете запросить все свое дерево пользователей, а внутри каждого из них указать свою широту и долготу, а затем вы можете сделатьлогика, чтобы проверить, находятся ли каждый вытянутый широту и долготу рядом с вашими.
это то, как вы извлекаете все данные, скажем, у вас есть главный узел дерева Users, и внутри у вас есть каждый userUID с широтой и долготой внутридля каждого из них вы должны сделать что-то вроде этого
mDatabase.child("Users").addValueEventListener( new ValueEventListener(){
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
ArrayList<Users> users = new Arraylist<>(); //an arraylist to save all the latitude and longitude values
for(DataSnapshot post : dataSnapshot.getChildren() ){
// Iterate through all your users and get latitude and longitude
Users u = users.getValue(Users.class); //here you need a pojo in which you will have the variables you want to fetch, they need to be named exactly as your database one , remember, a pojo is just a class with setters and getters
//and then just get your values and add them to your array
long latlang = u.latitudelongitude; //store your latlang
// in your case you dont have 1 key with latitude and longitude, you will have to fetch them separate, just do long latitude = u.latitude; and long longitude = u.longitude;
users.add(latlang); //add it to your arraylist
}
}
@Override
public void onCancelled(DatabaseError databaseError) {}
});
, а затем, после того как вы получите все значения, просто получите их из массива и сравните их с вашими, выполните некоторую логику и все готово
Я бы посоветовал вам хранить широту и долготу всего в 1 ключе, а не в отдельности, так как будет проще выбрать и использовать значение, тогда вы можете использовать регулярное выражение, чтобы обрезать его и получить то, что вы хотите от него
счастливого кодирования!