1

我目前正在开发一个需要使用 Android Studio 包含用户位置的程序。在我的用户集合中,我将位置信息作为每个用户文档的地理点。我需要获取圆半径范围内的所有用户。我找到了 imperiumlabs 的 GeoFireStore - https://github.com/imperiumlabs/GeoFirestore-Android-用于这个地理位置过程。我可以设置和获取文档的位置(单个用户)。但我想定义一个中心并检查范围内是否有任何人。

据我了解,我需要使用地理查询事件侦听器,如下所示;

geoQuery.addGeoQueryEventListener(new GeoQueryEventListener() {...}

它具有 Key Entered、Key Moved、Query Ready、Query Error 方法,但我无法管理使用什么以及如何使用。我需要返回的文档(用户)信息(谁)在我定义的范围内。这样,我可以向他们展示主要用户。

对于简短的单词;有人可以帮助我了解geofirestore的事件监听器吗?

感谢您宝贵的时间。

4

1 回答 1

1

在花了越来越多的时间后,我终于解决了我的问题

public void onDocumentEntered(DocumentSnapshot documentSnapshot, GeoPoint location) {}

在 GeoQueryDataEventListener 接口中。这个方法递归地工作,直到满足查询的要求,我把它放在onCreate中。我刚刚使用 documentSnapshot.getId() 列出了 document_id,并将它们转移到了一个带有mList.add(documentSnapshot.getId()). 希望这可以帮助有人照顾。

于 2019-02-22T12:33:18.027 回答