我有以下代码,它可以在模拟器上正常工作。它得到了一个虚假的位置,即雷德蒙德的微软位置,但速度很快。我在Windows Phone 8.1设备上部署了相同的代码,Geopostion系列需要5分钟才能获得经度和纬度。有没有办法让纬度和经度更快,就像在这里过境说得到你的位置,但它的快速。请帮忙,让我知道我做错了什么。
Geolocator locator = new Geolocator();
locator.DesiredAccuracy = PositionAccuracy.High;
Geoposition position = await locator.GetGeopositionAsync();
latitude = position.Coordinate.Latitude;
longitude = position.Coordinate.Longitude;
答案 0 :(得分:0)
你可以解决这个“太长时间以获得当前位置”,用这个:
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);
}
}
});
}