【发布时间】:2016-12-06 02:12:17
【问题描述】:
我在我的应用中为用户帐户和主地图视图使用 Firebase 和 Google 地图。在我的应用中,我希望它从用户的位置开始,然后让他们能够四处移动地图,但存在一些问题。
-
一旦用户通过身份验证。 Firebase,我让它尝试获取用户位置,但即使我为应用程序启用了位置服务,它通常也会返回
nil。这是我的代码:if let mylocation = mapView.myLocation { print("User's location: \(mylocation)") } else { print("User's location is unknown") }这也在我的
viewDidLoad函数中。我的 Info.plist 文件中有请求使用位置权限的代码以及隐私声明。 如果我的地图恰好加载并找到了用户位置,我会尝试让它以用户位置为中心显示视图。但是,它无法及时获取用户的位置,或者看起来如此,并且地图会在其他位置加载,并且不会更新到用户的位置。
这是我的问题
有什么方法可以加载地图并将其更新到用户的位置,而不会在整个应用程序使用时卡在那里?我想要的一个例子基本上是一个谷歌地图克隆,它从用户的位置开始,他们能够与地图进行交互,而无需尝试将地图持续更新到用户的位置。如果没有,有没有办法在加载地图之前等待找到位置?我尝试使用 GCD(Grand Central Dispatch),但没有奏效。我觉得这不是我最好的选择,在显示地图之前等待位置加载,因为它可能会发生很多问题。如果这些都不是选项,你会怎么做?谢谢!
【问题讨论】:
标签: ios google-maps swift3 google-maps-sdk-ios