当前位置: 首页 > 知识库问答 >
问题:

在打开谷歌地图之前,融合定位GPS不会更新

袁奇玮
2023-03-14

我在我的应用程序中使用的是fused location provider,它以60秒的间隔设置为PRIORITY\u HIGH\u precision。这通常是有效的,但有时位置在5到10分钟内不会自动更新,当我打开谷歌地图时,它似乎会触发位置更新。

这里还有谁可能遇到过这个问题,或者知道这种行为背后的可能原因?有办法解决这个问题吗?

共有2个答案

狄宇
2023-03-14

Gps并不总是返回位置,即使它通过FusedLocationProvider api或LocationManagerLocationManager可用。iProviderEnabled(LocationManager.GPS_PROVIDER)。尤其是,如果你在室内,根据设备的Gps芯片,从Gps获取位置的可能性较小。必须安装Gps才能返回位置。

您可以编写一个测试应用程序,其中LocationManager带有Gps、Wifi和GpsStatusListener,用于检查卫星计数、定位中的卫星和卫星信号强度,同时将其与FusedLocationProvider进行比较,并将提供给地图的位置添加为标记。你也可以寻找位置。用于FLP的getExtras(),其中可能包含有关卫星的信息。即使LocationManager Gps可用且卫星计数为2,我也无法从Gps获取位置。

晋功
2023-03-14

我在以下链接中的发现融合位置提供商仅在至少一个客户端连接到它时才会维护后台位置。一旦第一个客户端连接,它将立即尝试获取位置。如果您的活动是第一个连接的客户端,并且您立即在onConnected()中调用getLastLocation(),那么可能没有足够的时间让第一个位置进入。这将导致位置为空。

要解决此问题,您必须(不确定地)等待,直到提供者获取位置,然后调用getLastAt(),这是不可能知道的。

另一个更好的选择是实现com.google.Androidgms。地方LocationListener接口,用于接收定期位置更新(并在获得第一次更新后将其关闭)。

 类似资料:
  • 我正在设计一个应用程序,我想在地图上显示具体的位置。我正在传递地址的,它已经放在上。以下是我的代码.. 但它给了我谷歌地图来获取方向。我知道为什么会这样,因为我在中使用了,但我不知道在特定位置使用什么..请告诉我在那里使用什么..

  • 我写这封信是希望你能帮助我。出于某种原因,当我单击按钮时,我的应用程序不会启动谷歌地图,而是会将我发送回上一个活动/页面。当我再次按下该按钮时,应用程序会崩溃。 JAVA类(crkvalokacijamape.java) crkva\u lokacijamape。xml AndroidManifest.xml map_api.xml

  • 本文向大家介绍谷歌地图打不开的解决办法,包括了谷歌地图打不开的解决办法的使用技巧和注意事项,需要的朋友参考一下 谷歌地图被中国防火墙封杀,所以不用直接引用http://maps.googleapis.com/maps/api/js?sensor=false&language=en这域名下的谷歌地图api,而是改为http://maps.google.cn/maps/api/js?sensor=fa

  • 我试图为android用户设计一个网页,所以我想知道是否有一个超链接格式,可以像调用功能一样打开谷歌地图

  • 我们的应用程序使用Google Fused location API每3分钟接收一次位置更新。位置请求设置如下- 间隔- 最快间隔- 优先级- 在正常运行的场景中,位置更新被正确地接收,并且位置精度相当好(大约20-25米)。 当地图应用程序打开时,它接收到GPS位置,因此我们的应用程序也开始接收位置更新,这些更新基本上来自GPS收发器(我知道这一点,因为随后的位置更新也有速度和高度值)。 当Ma