地理定位花了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;

地理定位花了Windows Phone 8很多时间

你可以解决这个"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);
                }
            }
        });
    }