我有一个商店的集合,在地理位置上有一个地理指数.
我想要做的是给出用户的纬度,纬度和搜索半径(mi),我想返回这些参数内的商店列表.
我在MongoDB文档(http://www.mongodb.org/display/DOCS/Geospatial+Indexing)上看到了以下示例,但看起来距离是弧度.
center = [50, 50]
radius = 10
db.places.find({"loc" : {"$within" : {"$center" : [center, radius]}}})
Run Code Online (Sandbox Code Playgroud)
那么,将里程转换为弧度的公式是什么?
解决方案 mongodb-user的优秀人员帮助我找到答案.基本上,我真正想要的是一种限制距离的方法.
每个,更新的文档,$ near查询有一个第三个参数:你也可以使用$ near与最大距离
db.places.find( { loc : { $near : [50,50] , $maxDistance : 5 } } ).limit(20)
Run Code Online (Sandbox Code Playgroud)
$ maxDistance的值以弧度为单位; 所以,我不得不用英里的距离把它除以69.
谢谢!
Metro风格Windows 8应用程序中System.Device.Location.GeoCoordinate.GetDistanceTo方法的等效项是什么.
Metro应用程序具有Geocoordinate类(使用小写"C")但没有GetDistanceTo方法.
其次,Metro Geocoordinate类没有构造函数.我该如何创建它的实例.
我试图在未来的成功构建中获得两个坐标的距离,但我正在寻找如何在我的代码中的 Text() 小部件中获取返回的“kmDis”值:我的代码。在下面查看我的完整代码。
Future<String> getDistance(String lat, String lng) async {
final distanceInMeters = await Geolocator().distanceBetween(
currentLocation.latitude,
currentLocation.longitude,
double.parse(lat),
double.parse(lng));
double distancekm = distanceInMeters / 1000;
String kmDis = distancekm.toStringAsFixed(1);
//int finalkm = distancekm.round();
return kmDis;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body:Text("i want to return my kmDis value as string here.")
)
}
Run Code Online (Sandbox Code Playgroud) getdistance ×3
.net ×1
c# ×1
dictionary ×1
distance ×1
flutter ×1
future ×1
geospatial ×1
mongodb ×1
widget ×1
windows-8 ×1