我想出了一个方法,它采用坐标和范围(以英里为单位)并返回围绕原点形成圆的坐标列表.我似乎已经取得了一些进展,但我有一个问题,让范围部分下降.
private const Double LAT_MILE = 0.0144839;
private const Double LONG_MILE = 0.0190693;
public static List<Gps.Coordinate> GetRadius(Double OriginLatitude, Double OriginLongitude, Double Range, int Points)
{
List<Gps.Coordinate> Result = new List<Coordinate>();
//insert a new point
for (int i = 0; i < Points; i++)
{
Result.Add(new Gps.Coordinate()
{
Latitude = ((Range * LAT_MILE) * System.Math.Cos(i)) + OriginLatitude,
Longitude = ((Range * LONG_MILE) * System.Math.Sin(i)) + OriginLongitude
});
}
//sort using nearest neighbor
return SortCoords(ref Result);
}
Run Code Online (Sandbox Code Playgroud)
我发现的问题是,我用来表示距离以英里为单位的常数会根据位置而改变.有没有人有任何解决这个问题的建议,或者更好的捕鼠器?
编辑:我应该注意,我在数学上很可怕:)
各位大家好我/我知道这比gmap更像是一个数学问题,但我想有人已经通过了这个=)
在我的地图中,我有圈子(实际上我有几个,但这不会改变问题),如下所示:http://code.google.com/intl/pt-BR/apis/maps/articles/mvcfun/ step6.html步骤
如何知道标记(纬度X和经度Y)是否在此圆圈内?
抱歉英语不好,我是brazillian = p
我正在设计一个招聘数据库,我需要它来执行几个任务,所有这些都涉及集成一种计算距离的方法:
1)计算候选人与客户的距离?
2)在任何一天的工作候选人范围内计算客户?
3)计算在客户半径范围内具有正确空缺资格的候选人数.
你可以看到我需要以两种主要方式计算距离1)半径2)随着乌鸦飞行,我宁愿准确的距离,但第一个会做.我知道我可以集成谷歌地图或其他一些基于网络的映射,但我希望系统独立,这样它可以在没有互联网连接的情况下运行.系统将有一个HTML5前端,后端是在Mysql和PHP中.
谢谢biagio
c# ×1
distance ×1
geospatial ×1
gis ×1
google-maps ×1
gps ×1
html5 ×1
javascript ×1
math ×1
php ×1