0

我制作了 Appcelerator Titanium Module 来获取设备的旋转和位置。源代码可以在GitHub上找到。

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

我不使用委托,我在我的 Titanium Javascript 代码中提取数据。如果我在 Simulator -> Debug -> Location 中设置“City Run”,则不会发生任何事情。相同的缓存位置正在返回。

提取位置是可以的,因为我尝试使用本机应用程序来做到这一点:

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

它在模拟器和设备上工作。

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

有任何想法吗?

编辑:

我正在查看GeolocationModule src并没有发现什么特别之处。

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

4

1 回答 1

2

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

于 2012-06-27T15:12:35.840 回答