android - 使用 GPS 和网络提供商的 Android 定位服务体验

标签 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,只使用网络提供商。我正在构建一个出租车预订应用程序,因此我需要知道出租车的大致位置。即使我知道出租车在大约 15 分钟后的大约(300 米)位置,我也应该很好。所以我想我决定不通过使用两个提供者来过度设计这个逻辑是正确的。我想知道是否有人可以在这里体验不同的体验?我错过了什么吗?

最佳答案

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

网络提供商结合使用 WiFi 和手机信号塔信息来提供位置信息。

如果您碰巧靠近 Wifi 网络,这在城市化地区很常见,但在城市以外则不然,您通常可以获得非常好的准确度。

但是,在 Wifi 覆盖范围之外,您将受到信号塔的摆布。在这里,精度取决于手机信号塔的质量和功能,以及可用于对您的位置进行三角测量的手机信号塔的数量。

在这些情况下,质量可能很多,不仅在不同地点之间,而且还取决于您使用的运营商、他们的手机信号塔之间的距离,以及他们使用的手机信号塔的品牌和世代有。较新的版本具有更多关于位置的功能,例如可能会自行提供方位。

我的应用程序在瑞典运行,在我们国家的某些地区,运营商可能在非常大的区域内只有一座塔。在这些情况下,所有经/纬度定位最终都直接在塔上,精度甚至高达 20.000 - 30.000 米。

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

关于电池/热量 - 根据您的要求,您可以多次调整时间/距离参数以获得“足够好”的更新频率,而不会对手机造成太大负担。

关于android - 使用 GPS 和网络提供商的 Android 定位服务体验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14641019/

相关文章:

php - 上传图片到服务器php-my-sql(android)

android - Android 是否支持所有 Unicode 字符

ios - 适用于 iOS 5 的地理围栏 API

java - 如何在 Android 中获取当前 GPS 位置?

java - 使用折线选项在 map 上发生位置更改故障

javascript - 设置 top.location 并打开新选项卡?

android - 使用 Ionic 3 将文件保存到下载目录

android - 如何在 Android 中将 "convert"setText 设置为 ListView

android - location.getspeed() 更新

android - 融合位置提供者 API。 GPS 位置之间的转换