Csharp/C#教程:获取Windows 8桌面应用程序中的位置分享


获取Windows 8桌面应用程序中的位置

我是C#的初学者,但我经常使用Java。 我想在我的应用程序中使用以下代码来获取位置数据。 我正在制作一个Windows 8桌面应用程序,以便在我的设备中使用GPS传感器:

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using Windows.Devices.Sensors; using Windows.Devices.Geolocation; using Windows.Devices.Geolocation.Geoposition; using Windows.Foundation; namespace Hello_Location { public partial class Form1 : { public Form1() { InitializeComponent(); } async private void Form1_Load(object sender, EventArgs e) { Geolocator loc = new Geolocator(); try { loc.DesiredAccuracy = PositionAccuracy.High; Geoposition pos = await loc.GetGeopositionAsync(); var lat = pos.Coordinate.Latitude; var lang = pos.Coordinate.Longitude; Console.WriteLine(lat+ " " +lang); } catch (System.UnauthorizedAccessException) { // handle error } } private void button1_Click(object sender, EventArgs e) { } } } 

我收到此错误:

‘await’要求’Windows.Foundation.IAsyncOperation’类型具有合适的GetAwaiter方法。 你错过了’系统’的使用指令吗? C: Users clidy documents visual studio 2012 Projects Hello-Location Hello-Location Form1.cs

我怎样才能解决这个问题?

如果您可以为我指向C#位置的一些资源和Windows 桌面应用程序的传感器API,它将非常有用。 谷歌搜索时,我只获得Windows RT API。

要解决您的错误,您必须参考Bart在其中一个问题评论中提供的链接。

如果您使用的是Windows运行时事件处理程序等映射类型,则可能还需要添加对System.Runtime.WindowsRuntime.dll的引用:

该程序集位于C: Program Files(x86) Reference Assemblies Microsoft Framework.NETCore v4.5中

我最近找到了一个类似问题的“ 解决方案 ”: C#桌面应用程序不共享我的物理位置 。 也许您可能对我的方法感兴趣: https : //stackoverflow.com/a/14645837/674700 。

它更像是一种解决方法,并不是针对Windows 8,但它最终会起作用。

alex的解决方案有效! 添加该引用和地理位置api开始像魅力一样工作! 其他传感器的异步方法也是如此!

这是一个我刚刚使用它的function。

上述就是C#学习教程:获取Windows 8桌面应用程序中的位置分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

 async public void UseGeoLocation() { Geolocator _GeoLocator = new Geolocator(); Geoposition _GeoPosition = await _GeoLocator.GetGeopositionAsync(); Clipboard.Clear(); Clipboard.SetText("latitude," + _GeoPosition.Coordinate.Latitude.ToString() + "," + "longitude," + _GeoPosition.Coordinate.Longitude.ToString() + "," + "heading," + _GeoPosition.Coordinate.Heading.ToString() + "," + "speed," + _GeoPosition.Coordinate.Speed.ToString()); Application.Exit(); } 

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1011451.html

(0)
上一篇 2021年12月30日
下一篇 2021年12月30日

精彩推荐