Google地图中的位置更新率(Android)

时间:2014-04-30 04:26:38

标签: android gps geolocation location

我正在编写一个简单的基于GPS的应用程序,用于识别位置。每当启用GPS时,应用程序都会请求位置更新,并在TextView中打印纬度和经度。如果禁用GPS,则位置提供商会回退到LocationManager.NETWORK_PROVIDER,以便相对于相邻小区塔进行三角测量设备位置。目标是每当检测到设备移动时,它应该开始使用lat / long填充TextView。当没有移动时,该过程应该停止。为此,我将位置更新率实施为:

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 1, this);

以上行导致非常频繁的位置更新(即使没有移动,我仍然会获得lat / long值)。我在某处读到minTime=0并不是一个好主意(电池耗电更快)。当我将其更改为2或3秒时,更新变得非常慢(即使设备移动超过50米)。改变minDistance似乎也不起作用!我想知道Google地图应用程序使用的设置是什么?功耗不是我的限制因素,因为我正在开发一些网络驱动器测试设备的应用程序(从车载的车载铅酸电池获得恒定功率)。

1 个答案:

答案 0 :(得分:0)

更新频率高度依赖于硬件。好的GPS芯片发送非常频繁的更新(三星Galaxy S3),而有些甚至努力显示lat-lan的位置。这里的要点是根据距离和时间标准化接收更新的频率。使用各种时间和距离配置并测试它们并使用最合适的值。对于我的项目,我使用以下值: //对于步行用户

  

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,5,10,this);

//适用于汽车中的用户

  

locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,2,50,this);