在 Windows 10 通用应用程序中获取位置
Getting Location in Windows 10 Universal App
在新的 Windows 10 文档中,它说在获取用户位置之前,您应该使用 Geolocator.RequestAccessAsync()。但是,该方法似乎不可用。我可以使用的唯一选项是 "Geolocator.Equals" 和 "Geolocator.ReferenceEqual".
当我尝试在不使用 RequestAccessAsync 的情况下获取位置时。我收到一个错误提示 "pipe is being closed"。我已经包含了我试图用来获取以下位置的代码。
Geolocator geolocator1 = new Geolocator { DesiredAccuracyInMeters = 250 };
Geoposition pos = await geolocator1.GetGeopositionAsync();
您确定您的项目类型正确吗? Windows 8.1 应用程序的地理定位器没有此方法,但它有您在代码片段中调用的其他方法和属性。
Windows.Devices.Geolocation.Geolocator.RequestAccessAsync() 应该可用于通用 Windows 应用程序,并在 Visual Studio 2015RC 的 Windows 通用项目中为我显示。
它是一个静态函数,因此您不需要对象的实例:
await Windows.Devices.Geolocation.Geolocator.RequestAccessAsync();
您可能还需要检查 Package.appxmanifest 部分是否设置了以下内容:
<DeviceCapability Name="location" />
你可以查看我自己的 Location Example 如果这也有帮助
原来问题是由于我试图在 Class 库中执行此操作引起的,该库的目标是 Windows 8.1 而不是 Windows 10。更改它,解决了问题。
在新的 Windows 10 文档中,它说在获取用户位置之前,您应该使用 Geolocator.RequestAccessAsync()。但是,该方法似乎不可用。我可以使用的唯一选项是 "Geolocator.Equals" 和 "Geolocator.ReferenceEqual".
当我尝试在不使用 RequestAccessAsync 的情况下获取位置时。我收到一个错误提示 "pipe is being closed"。我已经包含了我试图用来获取以下位置的代码。
Geolocator geolocator1 = new Geolocator { DesiredAccuracyInMeters = 250 };
Geoposition pos = await geolocator1.GetGeopositionAsync();
您确定您的项目类型正确吗? Windows 8.1 应用程序的地理定位器没有此方法,但它有您在代码片段中调用的其他方法和属性。
Windows.Devices.Geolocation.Geolocator.RequestAccessAsync() 应该可用于通用 Windows 应用程序,并在 Visual Studio 2015RC 的 Windows 通用项目中为我显示。
它是一个静态函数,因此您不需要对象的实例:
await Windows.Devices.Geolocation.Geolocator.RequestAccessAsync();
您可能还需要检查 Package.appxmanifest 部分是否设置了以下内容:
<DeviceCapability Name="location" />
你可以查看我自己的 Location Example 如果这也有帮助
原来问题是由于我试图在 Class 库中执行此操作引起的,该库的目标是 Windows 8.1 而不是 Windows 10。更改它,解决了问题。