c# - 如何在C#中获取设备的当前位置

标签 c# asp.net asp.net-mvc

我正在处理需要找出 200 英里范围内最近的医院的应用程序。我有一份经纬度保存在数据库中的医院列表,但我想获取设备位置。我怎样才能得到设备的位置。我在下面使用以下代码。

namespace GoogleMaps
{
    class Program
    {
        private double HaversineDistance(double firstLat, double firstLong, double secondLat, double secondLong)
        {
            double dLat = this.toRadian(secondLat - firstLat);
            double dLon = this.toRadian(secondLong - firstLong);

            double a = Math.Sin(dLat / 2) * Math.Sin(dLat / 2) +
            Math.Cos(this.toRadian(firstLat)) * Math.Cos(this.toRadian(secondLat)) *
            Math.Sin(dLon / 2) * Math.Sin(dLon / 2);
            double c = 2 * Math.Asin(Math.Min(1, Math.Sqrt(a)));
            double d = 6371 * 2 * Math.Asin(Math.Min(1, Math.Sqrt(a)));
            return d;

        }

        private double toRadian(double val)
        {
            return (Math.PI / 180) * val;
        }

        static void Main(string[] args)
        {
            double dist;
            Program a = new Program();
            dist = a.HaversineDistance(28.6100, 77.2300, 26.8470, 80.9470);
            Console.WriteLine("Harversine Distance  = " + dist);
            Console.ReadKey();
        }
    }
}

最佳答案

请您使用 GeoCoordinateWatcher Class

或查看 this

这里还有很好的解决方案 click

上面的链接演示是:

enter image description here

关于c# - 如何在C#中获取设备的当前位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20368348/

相关文章:

c# - 获取 GridViewColumn 的父级

c# - 无法将类型 'System.Collections.Generic.List<MODEL#1>' 隐式转换为 'System.Collections.Generic.List<Model#2>

javascript - 使用 Html.BeginCollectionItem 帮助程序传递集合的分部 View

javascript - 将 "Id"选定的复选框传递给模态 Bootstrap 并发送到 Controller

c# - 从 32 位版本迁移到 64 位版本

c# - 检查串口是否打开

javascript - 如何将 jQuery 变量值发送到 asp.net 中的服务器端

.net - session 对象不更新 ASP.NET

c# - .NET 饼图 : how to add text to slices and rotate chart

asp.net - NHibernate - 访问同一个数据库的两个 SessionFactories