一个简单的 gps 定位应用程序,直接来自文档 LocationManager 示例,在 3 种不同的 android 手机上测试时效果不佳。请自己尝试。
不显示高度、速度和方向等属性。如果它有数据、wifi 和 gps,它的性能最好。更糟糕的是,如果它有wifi和gps。最糟糕的是,如果它只有 gps。
但是,如果GPS 状态或谷歌地图之类的应用程序也在运行,那么它响应良好并且可用。那些其他应用程序正在解锁 TNS 位置模块没有的东西。
我在repo中提出了一个问题。
一个简单的 gps 定位应用程序,直接来自文档 LocationManager 示例,在 3 种不同的 android 手机上测试时效果不佳。请自己尝试。
不显示高度、速度和方向等属性。如果它有数据、wifi 和 gps,它的性能最好。更糟糕的是,如果它有wifi和gps。最糟糕的是,如果它只有 gps。
但是,如果GPS 状态或谷歌地图之类的应用程序也在运行,那么它响应良好并且可用。那些其他应用程序正在解锁 TNS 位置模块没有的东西。
我在repo中提出了一个问题。
查看源代码,该startLocationMonitoring
方法最多需要 3 个参数:和onLocation
,其中options 对象可以具有属性。onError
options
desiredAccuracy
如果desiredAccuracy
设置为enums.Accuracy.high
,它会将 Android 精度设置为ACCURACY_FINE。默认值为 ACCURACY_COARSE,与您得到的结果一致。
所以你可能想要做的是:
1 - 导入enums
您的main-page.js
:
var enums = require('ui/enums');
2 - 添加一个对象作为 startLocationMonitoring 调用的第三个参数,这里:
{
desiredAccuracy: enums.Accuracy.high
}
Nb:这只是看源代码,没有测试过。