【发布时间】:2019-06-06 10:45:31
【问题描述】:
我想使用从地图中获取的边界框按地理点查询文档集合。我有界限:
北:50.730
东:-1.861
南部:50.700
西部:-1.893
这是我的实际文档结构(基于我希望它返回的值):
document: {
d: {
coordinates: GeoPoint [50.72, -1.87]
}
}
这是我正在尝试的,但它不起作用:
db
.collection('exploreMap')
.where('d.coordinates.latitude', '<=', NORTH)
.where('d.coordinates.latitude', '>=', SOUTH)
// .where('d.coordinates.longitude', '<=', EAST)
// .where('d.coordinates.longitude', '>=', WEST)
.limit(80)
.get()
它只返回一个空查询,没有错误。我已经尝试过 EAST/WEST 查询和 NORTH/SOUTH,结果都相同。
我知道我不能做一个完整的框查询,因为 Firestore 不支持多个字段的 .where(),所以做一个简单的纬度或经度查询就可以了。然后我可以在返回结果时手动过滤。
有人可以告诉我我做错了什么吗?
【问题讨论】:
-
我之前没有尝试过 GeoPoint 对象,但不知怎的,我在 YouTube 上遇到了关于 Geoquery 的 this video。希望这会有所帮助。
标签: javascript firebase google-cloud-firestore