Titanium Mobile在iOS平台上的准确性不高

Titanium Mobile is not getting correct accuracy on iOS

本文关键字:准确性 平台 Mobile iOS Titanium      更新时间:2023-09-26

我有一个问题与我的编码。我的代码似乎没有得到低于1414的精度。

每当我打开谷歌地图,在那里找到我的位置,它通常在一秒钟内找到它。如果我切换回来,我看到一个正确的精度几秒钟,然后它切换回非常低的精度(1414)。

我做错了什么?

这是我的代码:

function reportPosition(e){
    label.text = e.coords.longitude + " - " + e.coords.accuracy;
}
Ti.Geolocation.purpose = "Test";
Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_BEST;
Titanium.Geolocation.distanceFilter = 10;
Ti.Geolocation.preferredProvider = Titanium.Geolocation.PROVIDER_GPS;
Titanium.Geolocation.getCurrentPosition(reportPosition);
Titanium.Geolocation.addEventListener('location', reportPosition);
Titanium.Geolocation.addEventListener('heading', reportPosition);

关于这个问题你还有更多的背景吗?

我已经运行了你的精确代码,收到的精度在10到183之间,但从来没有更高过。

我还拆分了它,以确保'heading'没有调用相同的方法报告假数字。

我在我的模拟器和iPhone 4S上使用Ti 1.7.2进行编译。

你把罗盘干扰关掉了吗?当你说你从谷歌地图切换到你的应用程序时,你是在切换还是在使用嵌入式地图?我试着在地图和应用程序之间切换,但精度没有大的变化。

可能是硬件或位置不好?(尽管这并不能解释为什么你在使用谷歌地图后会得到很好的结果)。你是否总是在应用开始时获得良好的结果,然后它们就会退化?

显而易见的答案是,你没有做错任何事情,并且你正在使用它的位置/硬件接收正确的精度级别。

我也有同样的问题,并且发现ACCURACY_BEST选项一定有一些问题。

是奇怪的,但尝试较差的精度选项给我更好的结果,只是尝试这样的东西:

Titanium.Geolocation.accuracy = Titanium.Geolocation.ACCURACY_NEAREST_TEN_METERS;

我所做的就是从ACCURACY_NEAREST_TEN_METERS开始,然后将其更改为ACCURACY_BEST(在第一个位置读取)。

在不同的位置尝试了一下,第一次读数从65米开始,然后到10 - 5米。