解析 - lat/lng 设置为 0 的地理点阻止基于位置的查询

Parse - Geopoint with lat/lng set to 0 preventing location based query

我的数据库中有一些 SchoolsGeolocation 值设置为 {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 对值,并且没有被正确初始化或访问。