Mir*_*cea 8 geolocation geo firebase flutter google-cloud-firestore
我必须做的:
我正在构建一个应用程序,我想在 firebase 中进行查询并接收 X 公里范围内的用户。但我想限制这个收到的文件,并有一个功能来获取更多的文件滚动。我正在使用 aStreamBuilder->ListView.build来构建我的列表。当我要收到可滚动列表的末尾时,我想从 Firestore 获取更多文档(如果有的话)。
我已经做过的事情:
到目前为止,我只找到了 2 个解决我的问题的方法:
问题:
这两个库是好的只有一个大问题,在这两个这种情况下,我无法限制的文件,我要去接受(我可以数JUST限制了原始查询Firestore.instance.collection("MyColection")),但不会帮我那么多,因为我会有这个案子
给我来自 Firestore 的 10 个文件 -> 给我 5 公里范围的用户 -> 我只会收到 4 个让我们说。
我想要的是从 X 范围内的 Firestore 接收 10 个文档。
这个问题有什么解决方案吗?或者我需要为此实现我自己的库?或者即使这样也不可能?
小智 4
GeoPoint userGeoPoint = user.geoPoint["geopoint"];
// 以英里为单位的距离 double distance = 30;
double lat = 0.0144927536231884;
double lon = 0.0181818181818182;
double lowerLat = userGeoPoint.latitude - (lat * distance);
double lowerLon = userGeoPoint.longitude - (lon * distance);
double greaterLat = userGeoPint.latitude + (lat * distance);
double greaterLon = userGeoPint.longitude + (lon * distance);
GeoPoint lesserGeopoint = GeoPoint(lowerLat, lowerLon);
GeoPoint greaterGeopoint = GeoPoint(greaterLat, greaterLon);
Query query = Firestore.instance
.collection(path)
.where("geoPoint.geopoint", isGreaterThan: lesserGeopoint)
.where("geoPoint.geopoint", isLessThan: greaterGeopoint)
.limit(limit);
Run Code Online (Sandbox Code Playgroud)
这对我有用。希望能帮助到你。
| 归档时间: |
|
| 查看次数: |
2210 次 |
| 最近记录: |