以xamarin形式获取纬度 - 经度的设备位置

时间:2016-07-01 05:17:32

标签: c# location xamarin.forms xamarin-studio

我的应用程序中有一个扫描仪,当我扫描任何QR码时,我需要获得纬度 - 经度的设备的当前位置。我不知道如何获取位置,所以我现在没有任何代码。建议我一些方法来获取扫描完成QR码的位置。

3 个答案:

答案 0 :(得分:6)

Geolocator插件示例:

var locator = CrossGeolocator.Current;
locator.DesiredAccuracy = 50;
var position = await locator.GetPositionAsync (timeoutMilliseconds: 10000);
Console.WriteLine ("Position Status: {0}", position.Timestamp);
Console.WriteLine ("Position Latitude: {0}", position.Latitude);
Console.WriteLine ("Position Longitude: {0}", position.Longitude);

参考:https://github.com/jamesmontemagno/GeolocatorPlugin

Nuget:https://www.nuget.org/packages/Xam.Plugin.Geolocator

答案 1 :(得分:0)

对于每个对此位置感到困惑的人,我建议使用Xamarin Essentials,而不是上面提到的插件。

            var location = await Geolocation.GetLastKnownLocationAsync();                                
            if (location != null)
            {
                MyLocation = location;
                if (!ShowUserLocation)
                    ShowUserLocation = true;
            }

答案 2 :(得分:0)

我推荐Xamarin Essentials。 查看这篇文章并检查您的权限。 https://docs.microsoft.com/en-us/xamarin/essentials/geolocation?tabs=android

var Latitude;
var Longitude;    
var request = new GeolocationRequest(GeolocationAccuracy.Best);
                    var location = await Geolocation.GetLocationAsync(request);

                    if (location != null)
                    {
                        if (location.IsFromMockProvider)
                        {
                            //Put a message if detect a mock location.
                        }else
                        {
                            Latitude=location.Latitude;
                            Longitude=location.Longitude;
                        }
                    }