解析 - lat/lng 设置为 0 的地理点阻止基于位置的查询
Parse - Geopoint with lat/lng set to 0 preventing location based query
我的数据库中有一些 Schools
,Geolocation
值设置为 {latitude: 0, longitude: 0}
。
我想根据我的用户位置查询学校,即t.GeoPoint {_latitude: 48.87513, _longitude: 2.3389439999999695}
。
这是我查询它们的方式:
var school_query = new Parse.Query("School");
school_query.near("Geolocation", this.geopoint);
school_query.limit(10);
school_query.find().then(...)
第 10 个 Schools
return 的 Geolocation
字段设置为 {latitude: 0, longitude: 0}
。显然,这不是我想要的。
我尽我所能从结果中排除那些 Schools
,例如创建一个 {0:0} 地理点,并使用它 notEqualTo
。我试图将结果限制在用户周围 10 公里内。
没有任何效果,0 所有价值的学校仍然return优先。
有没有办法绕过这个而不必玩数据?
欢迎提出任何建议!
如果地理位置为空,那么当存在基于位置的查询约束时,这些对象将被忽略。我的猜测是 this.geopoint
没有 {_latitude: 48.87513, _longitude: 2.3389439999999695}
的 lat/long 对值,并且没有被正确初始化或访问。
我的数据库中有一些 Schools
,Geolocation
值设置为 {latitude: 0, longitude: 0}
。
我想根据我的用户位置查询学校,即t.GeoPoint {_latitude: 48.87513, _longitude: 2.3389439999999695}
。
这是我查询它们的方式: var school_query = new Parse.Query("School");
school_query.near("Geolocation", this.geopoint);
school_query.limit(10);
school_query.find().then(...)
第 10 个 Schools
return 的 Geolocation
字段设置为 {latitude: 0, longitude: 0}
。显然,这不是我想要的。
我尽我所能从结果中排除那些 Schools
,例如创建一个 {0:0} 地理点,并使用它 notEqualTo
。我试图将结果限制在用户周围 10 公里内。
没有任何效果,0 所有价值的学校仍然return优先。 有没有办法绕过这个而不必玩数据?
欢迎提出任何建议!
如果地理位置为空,那么当存在基于位置的查询约束时,这些对象将被忽略。我的猜测是 this.geopoint
没有 {_latitude: 48.87513, _longitude: 2.3389439999999695}
的 lat/long 对值,并且没有被正确初始化或访问。