Геолокация в C#

317
04 июня 2018, 06:40

Какие есть способы получить долготу и широту устройства в C#? Я пробовал с помощью GeoCoordinateWatcher, но тщетно. Делал всё как по книжке, но в итоге функция GetGeolocation возвращает мне объект Geolocation с нулевыми Latitude и Longtitude.

public class Geolocation
{
    public static Geolocation GetGeolocation()
    {
        Geolocation res = new Geolocation();
        GeoCoordinateWatcher watcher = new GeoCoordinateWatcher();
        watcher.TryStart(false, TimeSpan.FromMilliseconds(1000));
        if (!watcher.Position.Location.IsUnknown)
        {
            res.Latitude = watcher.Position.Location.Latitude;
            res.Longtitude = watcher.Position.Location.Longitude;
        }
        return res;
    }
    public double Latitude      { get; private set; }
    public double Longtitude    { get; private set; }
}

Вот теперь может вы мне подскажите что я делаю не так, или же альтернативные способы получить геоданные?

Answer 1

Ваш код работает, просто ему не хватает времени для определения локации.

Я скопировал ваш код, добавил вот такой вызов

        bool exit = false;
        int count = 0;
        while (!exit)
        {
            var loc = Geolocation.GetGeolocation();
            if (loc.Latitude>0)
            {
                exit = true;
            }
            count++;
        }

Иногда срабатывает с первого раза, иногда с 6-9. Попробуйте увеличить таймаут. При увеличении его до 10000 мс срабатывает с первого раза. У меня.

READ ALSO
Как обработать событие в webbrowser только 1 раз? - C#

Как обработать событие в webbrowser только 1 раз? - C#

Подскажите пожалуйста как обработать событие только 1 раз? Обрабатывается один раз потому-что при клике на элемент вылазиет еще модальное...

261
Можно ли сделать так,чтобы спрайт отображался поверх объекта либо исчезал со сцены на время их пересечения?

Можно ли сделать так,чтобы спрайт отображался поверх объекта либо исчезал со сцены на время их пересечения?

Проблема состоит в том,что healthBar это UI объект (слайдер) и он перекрывает спрайт летящего самолета

261
Как в c# выбрать нужные ячейки из Excel?

Как в c# выбрать нужные ячейки из Excel?

В общем, есть документ excel в котором есть 2 нужных столбцаСтолбцы с данными от J7 до n и от K7 до n

223
C# многопоточость

C# многопоточость

Пишу самый обычный чат з помощью SocketТакой вопрос: на каждого пользователя, который подключился стоит выделять отдельный поток или все делать...

241