我有一个连接到Mongo数据库的Spring应用程序,正在使用以下代码从地球某个点半径内的某个集合获取文档:
"query" : {
"location" : {
"$geoWithin" : {
"$centerSphere" : [
[
37.33240731,
-122.03046898
],
0.0018924144710663706
]
}
}
}
通常这是可行的(在英国的位置),但是由于某些原因,这些坐标(在美国)给出了这个错误:
'{ "ok" : 0.0, "errmsg" : "longitude/latitude is out of bounds, lng: 37.3323
lat: -122.031", "code" : 2 }
这是什么原因?
最佳答案
在使用spring数据mongodb时遇到了同样的问题,非常愚蠢的错误是交换lat和long值。
Query query = new BasicQuery(
"{ location: { $geoWithin: { $centerSphere: [ [
-122.031,
37.3323
"+ rangeInMiles / 3963.2 +
" ] } }, visible : true, status : 'ACTIVE' }"
);
关于spring - Mongo说坐标超出范围,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37424887/