我想查询附近位置的领域数据库。纬度和经度信息保存在数据库中。当我生成一个边界框,然后我可以查询边界框内的所有工作站。我知道它不是一个半径,因为我使用了一个边界框。
所以我有一个/// <reference path="main/ambient/angular-toastr/angular-toastr.d.ts" />
,其中包含该地区的所有地点。我希望将其保留为RealmResult
,以便从自动更新对象中受益。
如何按距离到当前位置对位置进行排序?只有位置的位置和纬度是持久的和可排序的。
此外,如果我可以为距离添加额外的滤镜,那将是很好的,所以所有位置都在半径范围内。
答案 0 :(得分:1)
Realm目前不支持地理空间查询,但我们在此处跟踪问题:https://github.com/realm/realm-java/issues/1772
所以我担心你通过Realm API做到这一点有点不幸,但你可能会考虑使用GeoHash:https://en.wikipedia.org/wiki/Geohash。它是使用位串的位置表示,距离可以近似比较前缀。
答案 1 :(得分:1)
RealmGeoQueries使在iOS上轻松执行findNearby和findInRegion
答案 2 :(得分:0)
您可以做的是,在将数据存储在Realm中时,您可以存储一个名为“与用户的距离”的值或类似的值。您可以通过计算用户lat,lon和对象之间的距离来获取此值拉特,lon。
然后,您可以使用此值“与用户的距离”以降序或升序对数据进行排序,这在Realm中非常容易。或者,您可以在Realm中使用比较器API来获取距用户特定距离的对象。