地理定位花了Windows Phone 8很多时间
本文关键字:时间 Phone Windows 定位 | 更新日期: 2023-09-27 18:05:22
我有以下代码,它在模拟器上工作得很好。它会得到一个虚假的位置,比如微软在雷德蒙德的位置,但它很快。我在Windows Phone 8.1设备上部署了相同的代码,geoposition线实际上需要5分钟才能获得纬度和经度。有没有一种方法可以更快地得到经纬度,就像这里的transit说得到你的位置,但它很快。请帮助我,让我知道我做错了什么。
Geolocator locator = new Geolocator();
locator.DesiredAccuracy = PositionAccuracy.High;
Geoposition position = await locator.GetGeopositionAsync();
latitude = position.Coordinate.Latitude;
longitude = position.Coordinate.Longitude;
你可以解决这个"too long to get current position",用这个:
geolocator = new Geolocator();
geolocator.DesiredAccuracy = PositionAccuracy.High;
geolocator.ReportInterval = 2000;
geolocator.PositionChanged += geolocator_PositionChanged;
private void geolocator_PositionChanged(Geolocator sender, PositionChangedEventArgs args)
{
Dispatcher.BeginInvoke(() =>
{
if (args.Position != null && args.Position.Coordinate.ToGeoCoordinate() != myPosition)
{
if(args.Position.Coordinate.Accuracy <= 1500)
{
myPosition = args.Position.Coordinate.ToGeoCoordinate();
UpDateMyPositionCircle(args.Position.Coordinate.Accuracy);
}
}
});
}