c# - Geolocator PositionChanged 事件未触发以获取当前位置
问题描述
我正在尝试获取 WinRT 应用程序的当前位置。但是 PositionChanged 事件永远不会被触发。任何帮助都非常感谢!
在 Package.appxmanifest 中,我启用了 Location。我的代码如下: -
Geolocator geolocator = new Geolocator { ReportInterval = 2000 };
geolocator.DesiredAccuracyInMeters = 100; // specify your range
geolocator.PositionChanged += OnPositionChanged;
private async void OnPositionChanged(Geolocator sender, PositionChangedEventArgs e)
{
if (this.previousLocationState == LocationStates.PopupEmpty && (viewModel.Coordinate == null || viewModel.Coordinate.Latitude != prevGpsCoordinate.Latitude || viewModel.Coordinate.Longitude != prevGpsCoordinate.Longitude))
{
await Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () =>
{
this.viewModel.Coordinate = new GpsCoordinate { Latitude = e.Position.Coordinate.Point.Position.Latitude, Longitude = e.Position.Coordinate.Point.Position.Longitude };
Field.GpsCoordinate gpsCoord = new Field.GpsCoordinate { Latitude = viewModel.Coordinate.Latitude, Longitude = viewModel.Coordinate.Longitude };
CreateMapPin(gpsCoord);
prevGpsCoordinate = this.viewModel.Coordinate;
});
}
}
解决方案
我通过将此代码放入 Package.appxmanifest 中使其工作
<DeviceCapability Name="location" />
推荐阅读
- python - Python MYSQL查询太慢,是什么原因。可以通过良好的索引进行优化吗?
- java - 使用 javafx 获取鼠标坐标
- sparql - Sparql-数据集列表
- excel - 从 excel 文件中获取信息并向每一行的联系人发送警报。需要将信息合并到一封电子邮件中
- android - 在科尔多瓦添加平台时出错
- react-native - 检测在导航器之间移动的导航动作
- tkinter - 使用 OptionMenu 事件更改 tk.Label 图像
- android - 来自服务器的 Retrofit2 不一致响应
- apache-kafka - SparkStreaming 与 Kafka:存在拉丁字符的 AvroRunTimeException
- flutter - Builder 与 GlobalKey