[Android]:关于GoogleFusedLocation API的一些问题
我目前正在开发一款Android应用程序,它使用位置来操作。想象一下,当您运行应用程序时,它将显示所有酒店附近的内容 阅读互联网后,我将Google Fused Location应用于我的应用程序,但出现了一些问题,我不知道如何解决 以下是我的方法:[Android]:关于GoogleFusedLocation API的一些问题,android,gps,google-play-services,fusedlocationproviderapi,Android,Gps,Google Play Services,Fusedlocationproviderapi,我目前正在开发一款Android应用程序,它使用位置来操作。想象一下,当您运行应用程序时,它将显示所有酒店附近的内容 阅读互联网后,我将Google Fused Location应用于我的应用程序,但出现了一些问题,我不知道如何解决 以下是我的方法: 当SplashActivity启动时,我运行LocationService来创建位置请求和请求位置更新。我使用高精度选项,同时使用GPS和网络提供商 在onLocationChanged()中,我调用地理代码意图服务来解析lat lng到地址 当G
- 请让我知道我的方法是否正确使用FusedLocationService,这是我第一次制作基于位置的应用程序
- 有时,onLocationChanged()需要很长时间才能响应(大约3分钟,有时是永远)。我注意到这个问题只发生在安卓操作系统5、6、7上(我确实请求权限),但有时速度非常快(1-2秒)。这个问题快把我累死了,我不知道怎么解决这个问题
- 我正在考虑应用最后一个已知位置来解决上述问题,但我想知道是否有办法为requestLocationUpdate()设置超时。我的应用程序需要用户当前位置来显示数据,所以我认为最后一个已知位置不是一个好主意。不管怎样,很高兴听到你对这件事的看法
感谢阅读。首先,考虑一个位置是新的还是旧的可能取决于您的场景。我的意思是,10分钟前的位置可能对天气应用程序有用,但听起来不适合跟踪意图 IMHO,整个过程似乎有点糟糕,即使在启动屏幕后,您也可以给用户提供接收位置的机会 无论如何,我有一个方案给你
- 定义超时值,例如10秒
- 使用立即值发出位置请求(设置间隔和最快间隔0)
- 如果您收到位置,请删除位置更新,停止超时并使用位置(适用于地理编码器)
- 我们无法接收位置,超时已完成,请参阅最后一个已知位置
- 如果最后一个已知的位置对我们来说很好(在第一段中提到),请使用位置(对于地理编码器)