iOS LocationManager 没有更新位置(Titanium Appcelerator 模块)

标签 ios titanium cllocationmanager appcelerator-mobile titanium-modules

我制作了 Appcelerator Titanium 模块来获取设备的旋转和位置。来源可在 GitHub 上找到.

问题是它只获取一个缓存位置,但设备运动数据正常并且正在刷新。

我不使用委托(delegate),而是在我的 Titanium Javascript 代码中提取数据。 如果我在 Simulator -> Debug -> Location 中设置“City Run”,什么也不会发生。相同的缓存位置正在返回。

提取位置是可以的,因为我尝试使用 native 应用程序执行此操作:

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

它可以在模拟器和设备上运行。

但是您在 GitHub 上看到的相同代码不能用作 Titanium 模块。

有什么想法吗?

编辑:

我正在查看 GeolocationModule src我看不出有什么特别之处。

正如我所说,我的模块中的代码必须工作,因为它在 native 应用程序中工作。 “唯一”的问题是它没有更新位置,它总是返回缓存的位置。

最佳答案

答案是将 ENSURE_UI_THREAD 放在开始位置更新的函数的顶部。

关于iOS LocationManager 没有更新位置(Titanium Appcelerator 模块),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9648948/

相关文章:

ios - 使用 Xib 创建的自定义 View 在 Interface Builder 中不起作用

iphone - MKReverseGeocoder 已弃用

iphone定位服务代码适用于appstore中的OS 4.1

ios - 在 didupdatelocation 内运行的 Mapview 不会让用户滚动 map

ios - 推送到下一个 TableView

iphone - 检查 NSDocumentDirectory 中的现有图像

钛禁用设备旋转和修复,因此只显示一种模式

ios - 钛合金状态栏

ios - iOS上的Cordova Media

titanium - appcelerator从选项卡组中隐藏actionBar