Android 安卓GPS精度
我想在我的应用程序中使用精细的gps定位。所以我遵循了一个简单的教程(LocationManager的基本用法,明确规定GPS提供商,要求更新0毫秒,0米)并创建了一个应用程序。我对更新的准确性和速度完全没有印象。速度很慢,最好的精度是24米,但平均96米 在同一部手机上,在同一个地方,我跑得广为人知。我惊讶地发现这个修正是多么准确。4-6米,始终如一 所以我关闭了GPS状态并运行我的应用程序-我看到了6米的精度,但几秒钟后它是24、56、90、128。。。。在96左右波动 现在,我想知道:这怎么可能?有提高准确性的技巧吗 有人有好的例子/教程吗Android 安卓GPS精度,android,gps,Android,Gps,我想在我的应用程序中使用精细的gps定位。所以我遵循了一个简单的教程(LocationManager的基本用法,明确规定GPS提供商,要求更新0毫秒,0米)并创建了一个应用程序。我对更新的准确性和速度完全没有印象。速度很慢,最好的精度是24米,但平均96米 在同一部手机上,在同一个地方,我跑得广为人知。我惊讶地发现这个修正是多么准确。4-6米,始终如一 所以我关闭了GPS状态并运行我的应用程序-我看到了6米的精度,但几秒钟后它是24、56、90、128。。。。在96左右波动 现在,我想知道:这怎
这没有帮助 让我重复一遍:我获取并打印所有更新。所以我看到了一系列精确的定位 我看到了波动,我看到了最好的结果,它从来没有比12米更好过 现在在同一地点,我启动GPS Status=>并查看精度如何达到4米 首先我想:哈,GPS状态欺骗,只是偏离了准确度 但事实似乎并非如此,因为当我打开我的应用程序并获得最新的已知位置时,它确实是一个精确到4的位置 并开始降低到最佳情况12 总结:相同的硬件,相同的条件,不同的应用=>不同的准确性 所以我的问题是:有什么窍门吗?还有其他命令吗?有特殊的电源设置吗?与“你的应用程序有多重”有关系吗 相关:这个怎么样 -设定精度+设定功率要求高:
try{
locator = new GeoLocator(this);
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
locationManager.addGpsStatusListener(new GPSStatusManager(locationManager));
Criteria criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_FINE);
criteria.setPowerRequirement(Criteria. POWER_HIGH);
bestProvider = locationManager.getBestProvider(criteria, true);
Bundle bundle = new Bundle();
//I copied the next two lines out of some tutorial hoping that they would help boost my gps, but I'm really not sure what they do
boolean xtraInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_xtra_injection",bundle);
boolean timeInjection=locationManager.sendExtraCommand(LocationManager.GPS_PROVIDER,
"force_time_injection",bundle);
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 1000, 0.0f, locator);
}catch(Exception e){}
谷歌在最近的谷歌IO 2013活动上发布了一个不错的API: 您应该检查一下,看看如何最小化代码 请注意,这需要设备具有play store应用程序才能工作
与使用常规位置传感器(电池、速度、精度等)相比,这种方法有许多优点。通过GnssMeasurement可以获得最佳精度,但很难编码。Android 7+我有Doodge Shot dual(非常不受欢迎的中国智能手机)和work。 (官方支持名单) 全球导航卫星系统(GPS/GLONASS/GALILEO/…)
LocationManager(0毫秒,0米)-不工作,经过一段时间(1-20秒)后,你会得到同样的协调(如果你待在一个地方)-精度为3-10米。使用LocationManager,您不会从物理模块获得“原始”GNNS数据,而是通过Android API计算得到。有了GnssMeasurement,你就可以得到它 我希望这对你有帮助。。不,没有。它只是过滤。可能重复的