iOS LocationManager не обновляет местоположение (модуль Titanium Appcelerator) - PullRequest
0 голосов
/ 10 марта 2012

Я сделал Appcelerator Titanium Module для получения данных о вращении и местоположении устройства. Источник можно найти на GitHub .

Проблема в том, что он выбирает только одно кэшированное местоположение, но данные движения устройства в порядке и обновляются.

Я не использую делегат, я перетаскиваю эти данные в свой код Titanium Javascript. Если я установлю «City Run» в Simulator -> Debug -> Location, то ничего не произойдет. Возвращается то же кэшированное место.

Подтверждение местоположения в порядке, потому что я пытался с нативным приложением, которое делает это:

textView.text = [NSString stringWithFormat:@"%f %f\n%@",
                     locationManager.location.coordinate.longitude,
                     locationManager.location.coordinate.latitude,
                     textView.text];

И он работает в симуляторе и на устройстве.

Но тот же код, который вы видите на GitHub, не работает как модуль Titanium.

Есть идеи?

EDIT:

Я смотрю на GeolocationModule src и ничего особенного там не вижу.

Как я уже сказал, мой код в моем модуле должен работать, поскольку он работает в собственном приложении. Единственная проблема в том, что она не обновляет местоположение и всегда возвращает мне это кэшированное местоположение.

1 Ответ

2 голосов
/ 27 июня 2012

Ответ - поместить ENSURE_UI_THREAD в верхнюю часть функции, которая запускает обновление местоположения.

...