使用GPS和网络提供商在Android上定位服务的经验

时间:2013-02-01 06:37:12

标签: android gps location

我编写了一段代码,以便了解我的客户(出租车司机)在我的驾驶室预订应用程序的设备上启用定位服务时的体验。我在同一个监听器上使用网络和GPS提供程序启用了位置服务。

LocationManager lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
    // God.KM20TIME, God.KM20DISTANCE, (LocationListener) updates);

lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, God.KM20TIME,
            God.KM20DISTANCE, (LocationListener) updates);

我的电池电量比正常情况快得多。我的手机也比正常情况下升温了。但我期待的一致性非常低。我决定不使用GPS,只有网络提供商。我正在建立一个出租车预订应用程序,所以我需要知道出租车的位置。即使我知道驾驶室大约在(约300米)位置约15分钟后,我应该很好。所以我想我决定不使用两个提供程序来过度设计这个逻辑是正确的。我想知道是否有人可以在这里找到不同的经历?我错过了什么吗?

1 个答案:

答案 0 :(得分:1)

根据我的经验,网络提供商的质量可能会有很大差异。

网络提供商使用WiFi和Cell Tower信息的组合来提供位置信息。

如果您碰巧接近Wifi网络,这在城市化地区很常见,但不在城市之外,您通常会获得非常好的准确性。

然而,在Wifi的范围之外,你将受到手机信号塔的支配。在这里,精度取决于蜂窝塔的质量和特征,以及可用于对您的位置进行三角测量的蜂窝塔的数量。

在这些情况下,地点之间的质量可能会有所不同,但也取决于您使用的运营商,其手机信号塔之间的距离,以及他们制造和生成蜂窝塔的原因有。较新的有关于位置的更多功能,并且可能例如提供自己的方位。

我的申请在瑞典运行,在我们国家的某些地区,承运人可能只在一个非常大的区域内拥有一座塔楼。在这些情况下,所有lon / lat固定件直接在塔上结束,精度甚至高达20.000 - 30.000米。

基本上,我的观点是,在使用网络提供商时,如果您不在Wifi附近,我会对300米精度感到非常满意。

关于电池/散热 - 根据您的要求,您可以使用时间/距离参数进行大量游戏,以获得“足够好”的更新频率,而不会对手机征税。