Почему я получаю только один документ, используя geofirestore - PullRequest
1 голос
/ 31 мая 2019

Я пытаюсь запросить ближайший документ к местоположению пользователя, используя geofirestore, мой код выбирает только 1 документ, и, как вы видите в коде, я устанавливаю радиус в 100 км, и я устанавливаю местоположение документа из то же место.

Это документ, который я запрашиваю document number 1 А это другой документ с таким же радиусом document number 2

Я попытался напечатать результат snapshot на карте, и он напечатал только 1 документ

здесь я отправляю идентификатор документа для построения query в recyclerView

Map<String,Object> stringIntegerMap=new HashMap<>();
private void getNearestEstate(){
    GeoQuery geoQuery = geoFirestore.queryAtLocation(new GeoPoint(latitude, longitude), 100);
    geoQuery.addGeoQueryDataEventListener(new GeoQueryDataEventListener() {
        @Override
        public void onDocumentEntered(DocumentSnapshot documentSnapshot, GeoPoint geoPoint) {
           stringIntegerMap=documentSnapshot.getData();

            Query query=propertyRef.whereEqualTo("mID",Integer.parseInt(documentSnapshot.getId()));
           dataFetch(query,R.id.discoverRV);

            //here how i tried to print the result to see how many documents i got
            for (Map.Entry<String,Object> entry : stringIntegerMap.entrySet()) {
                String key = entry.getKey();
                String value = entry.getValue().toString();
                Toast.makeText(mContext,key+" "+value,Toast.LENGTH_LONG).show();
            }
        }

И вот я строю запрос и отправляю его на recyclerview adapter

private void dataFetch(Query query,int rvView){
      FirestoreRecyclerOptions<Property> options = new FirestoreRecyclerOptions.Builder<Property>()
        .setQuery(query, Property.class)
        .build();

mAdapter = new DiscoverAdapter(options);
RecyclerView recyclerView = root.findViewById(rvView);
recyclerView.setHasFixedSize(true);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));
recyclerView.setAdapter(mAdapter);
mAdapter.startListening();
}

вот результат запроса enter image description here

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