我使用Parse.com的Javascript SDK,特别是withinGeoBox
方法,并将谷歌地图视口的边界作为坐标传递给它。
但我得到了这样的答复:
{
"code":102,
"error":"Geo box queries that cross the international date lines are not currently supported"
}
我该如何解决这个问题?有没有其他方法可以用来完成同样的任务?
我试过的界限:
neLatitude: 53.530072632824385,
neLongitude: -1.3375209042968663
swLatitude: 53.511957430628534,
swLongitude: -1.4611170957031163.
我还尝试过纽约,加利福尼亚,密歇根州等地的界限。我得到同样的错误。
答案 0 :(得分:2)
还可以查询特定区域中包含的对象集。要在矩形边界框中查找对象,请将
withinGeoBox
限制添加到Parse.Query
。var southwestOfSF = new Parse.GeoPoint(37.708813, -122.526398); var northeastOfSF = new Parse.GeoPoint(37.822802, -122.373962); var query = new Parse.Query(PizzaPlaceObject); query.withinGeoBox("location", southwestOfSF, northeastOfSF); query.find({ success: function(pizzaPlacesInSF) { ... } });
听起来你正在将坐标传递给Parse交换。 API期望(SW,NE)中的点数顺序,但我猜测你正在通过(NE,SW)。
这些角落定义的其中一个矩形绝对不会跨越国际日期行:
但另一个矩形确实: