我有一个包含客户经度和纬度的数据库,我有一个搜索表单,用户将在其中输入日志/纬度,距离下拉列表包含 50 英里、100 英里......,当用户单击搜索时,我想编写一个 linq 查询从数据库中获取此距离半径内的所有客户。如何使用 C# 和 linq 来实现这个?
Update:
我找到了这个https://stackoverflow.com/a/1654365/20126 https://stackoverflow.com/a/1654365/20126但这给出了一个正方形而不是半径
对我的类似答案进行一些修改question https://stackoverflow.com/a/12836302/722783:
// radius is the distance in meters
var center = new GeoCoordinate(latitude, longitude);
var result = customers.Select(x => new GeoCoordinate(x.Latitude, x.Longitude))
.Where(x => x.GetDistanceTo(center) < radius);
您需要添加对System.Device.dll
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)