首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何利用c#获取当前位置的经纬度

如何利用c#获取当前位置的经纬度
EN

Stack Overflow用户
提问于 2015-05-18 07:23:04
回答 3查看 10.2K关注 0票数 1

我是c#的新手,我试着得到当前位置的纬度和经度。下面是我尝试过的代码。

代码语言:javascript
运行
复制
public string GetLocationProperty()
{
    double a = 0.0;
    string b = "";
    GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();

    // Do not suppress prompt, and wait 1000 milliseconds to start.
    watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));

    GeoCoordinate coord = watcher.Position.Location;

    if (coord.IsUnknown != true)
    {
        //Console.WriteLine("Lat: {0}, Long: {1}",
        //    coord.Latitude,
        //    coord.Longitude);
        a = coord.Latitude;
        b = a.ToString();
    }
    else
    {
         Console.WriteLine("Unknown latitude and longitude.");
    }
    return b;
}
EN

回答 3

Stack Overflow用户

发布于 2015-05-18 07:27:05

这就是你要的

代码语言:javascript
运行
复制
GeoCoordinateWatcher watcher= new GeoCoordinateWatcher(GeoPositionAccuracy.Default);
watcher.Start(); //started watcher
GeoCoordinate coord = watcher.Position.Location;
if (!watcher.Position.Location.IsUnknown)
{
    double lat = coord.Latitude; //latitude
    double long = coord.Longitude;  //logitude
}
票数 5
EN

Stack Overflow用户

发布于 2016-11-27 07:31:34

使用此代码获取当前用户位置。

代码语言:javascript
运行
复制
static void Main(string[] args)
    {
        GeoCoordinateWatcher watcher;
        watcher = new GeoCoordinateWatcher();

        watcher.PositionChanged += (sender, e) =>
        {
            var coordinate = e.Position.Location;
            Console.WriteLine("Lat: {0}, Long: {1}", coordinate.Latitude, coordinate.Longitude);
            // Uncomment to get only one event.
            watcher.Stop();
        };

        // Begin listening for location updates.
        watcher.Start();

        Console.ReadKey();
    }
票数 1
EN

Stack Overflow用户

发布于 2018-10-08 08:49:51

代码语言:javascript
运行
复制
GeoCoordinateWatcher _geoWatcher = new GeoCoordinateWatcher();
_geoWatcher.PositionChanged += GeoWatcher_PositionChanged;

bool isStarted = _geoWatcher.TryStart(suppressPermissionPrompt, timeOut);
_currentLocation = (isStarted && !_geoWatcher.Position.Location.IsUnknown) ? _geoWatcher.Position.Location: new GeoCoordinate();

private void GeoWatcher_PositionChanged(object sender, GeoPositionChangedEventArgs<GeoCoordinate> e)
{
    _currentLocation = e.Position.Location;
    _geoWatcher.Stop();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30297247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档