C#计算谷歌地图两点之间的距离
时间: 2023-08-02 10:37:55 浏览: 90
asp.net百度地图经纬度计算
4星 · 用户满意度95%
在C#中,可以使用以下代码计算谷歌地图两点之间的距离:
```csharp
using System;
public class Program
{
public static void Main(string[] args)
{
double lat1 = 30.000000; // 第一个点的纬度
double lon1 = 120.000000; // 第一个点的经度
double lat2 = 31.000000; // 第二个点的纬度
double lon2 = 121.000000; // 第二个点的经度
double distance = Distance(lat1, lon1, lat2, lon2);
Console.WriteLine("两点之间的距离是:" + distance + "千米");
}
// 计算两个经纬度点之间的距离
public static double Distance(double lat1, double lon1, double lat2, double lon2)
{
double r = 6371; // 地球半径,单位:千米
double dLat = (lat2 - lat1) * Math.PI / 180; // 将纬度转换成弧度
double dLon = (lon2 - lon1) * Math.PI / 180; // 将经度转换成弧度
double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
Math.Cos(lat1 * Math.PI / 180) * Math.Cos(lat2 * Math.PI / 180) *
Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
double distance = r * c; // 计算两点之间的距离,单位:千米
return distance;
}
}
```
其中,Distance()方法就是用来计算两个经纬度点之间的距离,参数包括两点的纬度和经度,返回值为距离(单位:千米)。
阅读全文