使用谷歌地图的GPS比我的应用程序安卓更好

时间:2014-12-03 16:46:38

标签: android google-maps gps maps locationmanager

我在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。

我只想知道,为什么google地图,使用GPS,在1秒内找到我,位置很好虽然我住在一个房子里。

你的答案是"使用粗略定位"。如果谷歌地图使用网络提供商为gps,他不可能找到我这么快。 :(

2 个答案:

答案 0 :(得分:3)

GPS正在使用卫星,当你在室内时,它无法从卫星上获取信号,因此无法找到位置(无法修复)。
GPS需要来自至少4个卫星的信号才能得到正确的修复,这通常需要几秒钟,一旦你已经有一个修复,你可以很容易地维护它。因此,如果您使用谷歌地图,它将为您提供更快的解决方案。
要更好地了解GPS的工作原理,请查看link 您可能希望使用different location approachs获取室内位置(粗略位置可能是答案)。我还会考虑使用谷歌播放服务的fused location,它会为您提供位置提供商的总结,并根据当时可用的内容(意味着GPS,粗糙 - 无线网络或网络)为您提供位置。

答案 1 :(得分:2)

您应该尝试使用粗略定位进行快速定位,然后使用精确定位以获得更准确的位置。粗定位通常非常快,而精细定位需要更多时间。

基本上,我们的想法是做多个定位,并通过更新,更准确的定位来覆盖不太准确的定位。

您可以在Android开发者文档中找到更多信息:http://developer.android.com/guide/topics/location/strategies.html

编辑:如果Google地图能够如此快速地找到您,那是因为您没有移动并且他们使用最后位置的知识。请阅读以上链接,该链接为位置策略提供了大量有用信息(并且效果很好)。