我在 Android 中有一个使用 GoogleMaps API 的应用程序。
当我使用谷歌地图时,我会激活 GPS,它很快就能找到我。
当我使用我的应用程序时,需要几秒钟的时间,如果我在家里,GPS 找不到我。为什么?
我的代码的简短摘要:
locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
MyLocationListener = new MyLocationListener();
locationManager.requestLocationUpdates(
LocationManager.GPS_PROVIDER,
7000,
5,
MyLocationListener
);
感谢您的回答,并对我糟糕的英语表示歉意
编辑
感谢您的解答!问题是我不想使用网络提供商。 Wifi 很好,3g 有 400 米的误差 jejeej。
我只想知道,为什么谷歌地图,使用GPS,在1秒内以完美的位置找到我,尽管我住在房子里。
您的答案是“使用粗略定位”。如果谷歌地图在 GPS 之前使用网络提供商,他不可能这么快找到我。 :(
最佳答案
GPS正在使用卫星,当您在室内时,它无法从卫星接收信号,因此无法找到位置(无法修复)。
GPS 需要来自至少 4 个卫星的信号才能获得正确的定位,这通常需要几秒钟,一旦您已经定位,您就可以非常轻松地维护它。因此,如果您使用谷歌地图,它会让您更快地修复。
要更好地了解 GPS 的工作原理,请查看此 link
您可能想使用 different location approachs用于获取室内位置(粗略位置可能是答案)。我还会考虑使用 fused location通过 Google Play 服务,它可以为您提供位置提供商的概况,并根据当时可用的信息(即 GPS、粗略 - WiFi 或网络)获取您的位置。
关于android - GPS 与谷歌地图的配合比我的应用程序 android 更好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27277143/