GPS промежуточный драйвер не возвращает действительные результаты - PullRequest
3 голосов
/ 28 февраля 2011

Я пытаюсь получить данные широты и долготы с моего устройства Windows Mobile 6.5 с помощью промежуточного драйвера GPS со следующим кодом:

Gps gps = new Gps();
gps.Open();

var pos = gps.GetPosition();

while (!pos.LatitudeValid && !pos.LongitudeValid)
    pos = gps.GetPosition();

gps.Close();

Проблема в том, что я никогда не разрываю петлю! Я попытался использовать Bing Maps в том же месте, и я получил мгновенные результаты, используя GPSID.

Все, что мне нужно, это относительные (как в пределах 100 метров) широта и длина данных. Я вытащил GPSID dll из 6.5.3 DTK, так что я считаю, что он самый современный. Весь код, который обращается к GPS, указан выше, поэтому, если я что-то упустил, пожалуйста, дайте мне знать!

Спасибо

1 Ответ

1 голос
/ 28 февраля 2011

Это довольно типично для компонентов COM, они не могут обновлять свое внутреннее состояние, пока вы не прокачаете цикл сообщений. Что не происходит, вы застряли в петле. Вместо этого используйте таймер.

...