WIndows 8.1桌面GeoLocation项目缺少参考

时间:2017-06-08 23:31:20

标签: c# geolocation windows-8.1

我是C#的初学者。我写了一个非常简单的Console项目来获取我PC上的位置坐标。

using LocationProvider;
using System;
using System.Threading.Tasks;

namespace TestLocationProvider
{
    class Program
    {
        static void Main(string[] args)
        {
            obtenerPosicion();
            Console.ReadKey();
        }

        public async static void obtenerPosicion()
        {
            GPSAccess gps = new GPSAccess();
            Task<GPSData> longRunningTask = gps.GetCurrentPosition();
            GPSData result = await longRunningTask;
            Console.WriteLine(result);
        }
    }
}

LocationProvider命名空间如下:

using System;
using System.Threading.Tasks;
using Windows.Devices.Geolocation;

namespace LocationProvider
{
    public class GPSAccess
    {
        public async Task<GPSData> GetCurrentPosition()
        {
            GPSData data;
            Geolocator loc = new Geolocator();
            try
            {
                data = new GPSData();
                loc.DesiredAccuracy = PositionAccuracy.High;
                Geoposition pos = await loc.GetGeopositionAsync();
                var lat = pos.Coordinate.Point.Position.Latitude;
                var lang = pos.Coordinate.Point.Position.Longitude;
                data.latitud = Math.Truncate(lat) * 100 + (lat - Math.Truncate(lat)) * 60;
                data.longitud = Math.Truncate(lang) * 100 + (lang - Math.Truncate(lang)) * 60;
                return data;
            }
            catch (System.UnauthorizedAccessException)
            {
                // handle error
            }
            return null;
        }
    }
}

我正在使用Windows 8.1的参考资料 - Windows.Devices - Windows.Foundations 和.NET 4.5 - System.Threading.Tasks

然而我在线上出现了错误

Geoposition pos = await loc.GetGeopositionAsync();

说:

  

IAsyncOperation<Geoposition>不包含定义   GetAwaiter而不是扩展方法GetAwaiter接受第一个   可以找到IAsyncOperation<Geoposition>类型的参数(是   你错过了System的使用指令?)

我忘记了一些参考资料吗?

0 个答案:

没有答案