Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GPS与谷歌地图的配合比我的android应用程序更好_Android_Google Maps_Gps_Maps_Locationmanager - Fatal编程技术网

GPS与谷歌地图的配合比我的android应用程序更好

GPS与谷歌地图的配合比我的android应用程序更好,android,google-maps,gps,maps,locationmanager,Android,Google Maps,Gps,Maps,Locationmanager,我有一个android应用程序,使用谷歌地图API 当我使用谷歌地图时,我会激活gps,它会很快找到我 当我使用我的应用程序,它需要几秒钟,如果我在我的房子里,gps找不到我。为什么? 我的代码的简短摘要: locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE); MyLocationListener = new MyLocationListener(); locationManager.req

我有一个android应用程序,使用谷歌地图API

当我使用谷歌地图时,我会激活gps,它会很快找到我

当我使用我的应用程序,它需要几秒钟,如果我在我的房子里,gps找不到我。为什么?

我的代码的简短摘要:

locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
MyLocationListener = new MyLocationListener();

locationManager.requestLocationUpdates(
        LocationManager.GPS_PROVIDER,
        7000,
        5,
        MyLocationListener
);
谢谢你的回答,很抱歉我的英语很差

编辑

谢谢你的回答!问题是我不想使用网络提供商。Wifi是exelent,3g有400米的误差jejeej

我只想知道,为什么谷歌地图,使用全球定位系统,在一秒钟内找到我的完美位置,虽然我住在一所房子里


你的答案是“使用粗定位”。如果谷歌地图在全球定位系统之前使用网络供应商,他不可能这么快找到我(

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

基本上,这个想法是做多个定位,并用更新和更准确的定位覆盖不太准确的定位

您可以在Android开发文档中找到更多信息:


编辑:如果谷歌地图能这么快找到你,那是因为你没有移动,他们使用了上一个位置的知识。请阅读上面的链接,它提供了很多关于位置策略的有用信息(而且效果很好).

GPS使用卫星,当您在室内时,它无法从卫星获取信号,因此无法找到位置(无法获得定位)。
GPS需要至少4颗卫星的信号才能得到正确的定位,通常需要几秒钟,一旦你已经有了定位,你就可以很容易地对其进行维护。因此,如果你使用谷歌地图,它将更快地为你定位。
要更好地了解GPS是如何工作的,请检查此项 你可能想在室内获取位置(粗略位置可以是答案)。我也会考虑使用谷歌的Play服务,它会给你提供位置提供者的包裹,并根据当时的可获得的位置(意思是GPS、粗WiFi或网络)来获取你的位置。