Класс GeoCoordinate является частью System.Device.dll в. net framework. Но это не поддерживается в. Net Core. Я нашел альтернативные методы, чтобы найти расстояние между двумя координатами.
public double CalculateDistance(Location point1, Location point2)
{
var d1 = point1.Latitude * (Math.PI / 180.0);
var num1 = point1.Longitude * (Math.PI / 180.0);
var d2 = point2.Latitude * (Math.PI / 180.0);
var num2 = point2.Longitude * (Math.PI / 180.0) - num1;
var d3 = Math.Pow(Math.Sin((d2 - d1) / 2.0), 2.0) +
Math.Cos(d1) * Math.Cos(d2) * Math.Pow(Math.Sin(num2 / 2.0), 2.0);
return 6376500.0 * (2.0 * Math.Atan2(Math.Sqrt(d3), Math.Sqrt(1.0 - d3)));
}
, где point1 и point2 - это 2 точки с координатами, а Location - это класс, как показано ниже,
public class Location
{
public double Latitude { get; set; }
public double Longitude { get; set; }
}
Пожалуйста, проверьте ссылку для другого метода для расчета расстояния, который дает тот же результат, что и код выше - Альтернативный метод