根据经度和纬度获得俩点距离
浏览量:4563
	public class Earth
	{
	/// <summary>
	/// 地球的半径
	/// </summary>
	public const double EARTH_RADIUS = 6378.137;
	
	/// <summary>
	/// 计算坐标点的距离
	/// </summary>
	/// <param name="begin">开始的经度纬度</param>
	/// <param name="end">结束的经度纬度</param>
	/// <returns>距离(公里)</returns>
	public static double GetDistance(Point begin, Point end)
	{
	double lat = begin.RadLat - end.RadLat;
	double lng = begin.RadLng - end.RadLng;
	
	double dis = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(lat / 2), 2) + Math.Cos(begin.RadLat) * Math.Cos(end.RadLat) * Math.Pow(Math.Sin(lng / 2), 2)));
	dis = dis * EARTH_RADIUS;
	dis = Math.Round(dis * 1e4) / 1e4;
	
	return dis;
	}
	}
	
	/// <summary>
	/// 代表经度, 纬度
	/// </summary>
	public class Point
	{
	/// <param name="lat">纬度 X</param>
	/// <param name="lng">经度 Y</param>
	public Point(double lat, double lng)
	{
	this.lat = lat;
	this.lng = lng;
	}
	
	// 纬度 X
	private double lat;
	
	// 经度 Y
	private double lng;
	
	/// <summary>
	/// 代表纬度 X轴
	/// </summary>
	public double Lat { set; get; }
	
	/// <summary>
	/// 代表经度 Y轴
	/// </summary>
	public double Lng { get; set; }
	
	public double RadLat { get { return lat * Math.PI / 180; } }
	
	public double RadLng { get { return lng * Math.PI / 180; } }
	}
- if(navigator.geolocation){
 - navigator.geolocation.getCurrentPosition(getPositionSuccess, getPositionError);
 - }else{
 - alert("您的浏览器不支持Geolocation!");
 - }
 
下一篇:不同的搜索引擎的反向链接查询命令

