如何使用C#驱动程序和GeoNear
方法向MongoDB查询附近的地理位置?
以下返回的距离值不正确的点:
var results = myCollection.GeoNear(
Query.GT("ExpiresOn", now), // only recent values
latitude,
longitude,
20
);
我怀疑我应该告诉Mongo在double []
Location
字段上进行查询,但是我不知道查询语法。 最佳答案
var earthRadius = 6378.0; // km
var rangeInKm = 3000.0; // km
myCollection.EnsureIndex(IndexKeys.GeoSpatial("Location"));
var near =
Query.GT("ExpiresOn", now);
var options = GeoNearOptions
.SetMaxDistance(rangeInKm / earthRadius /* to radians */)
.SetSpherical(true);
var results = myCollection.GeoNear(
near,
request.Longitude, // note the order
request.Latitude, // [lng, lat]
200,
options
);
关于c# - MongoDb C#GeoNear查询构造,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7995097/