ios - 在 Swift iOS 中未调用 Google Places 回调

标签 ios swift google-maps sdk

我正在使用 GoogleMaps SDK( map 和地点)。由于某种原因,未调用以下回调。我已将记录器放入其中但没有任何反应。

var placesClient : GMSPlacesClient?

...


func run(){
    self.placesClient?.currentPlaceWithCallback({ (list: GMSPlaceLikelihoodList?, error: NSError?) -> Void in
       if let error = error {
           println("error: \(error.description)")
           return
       }

       if let list = list {
           self.renderList(list)
       }
    })
}

由于某种原因,currentPlaceWithCallback 中的 block 没有被调用。昨天发生这种情况是因为我的 API 有一个错误的包标识符,更改后它开始工作。但是今天它停止了。

知道为什么会这样吗?此外,我们是否会接触到 Google 的任何 API 日志?

最佳答案

我在我的 iPhone 6 设备和 iPhone 6 模拟器上遇到了同样的问题。

  1. 修复是在 Info.plist 中添加 NSLocationWhenInUseUsageDescription 权限!但是,它只适用于我的 iPhone 6 设备,不适用于模拟器。

    如 Google 地方指南中所述: ( https://developers.google.com/places/ios-api/start )

    请注意,由于此示例需要访问设备的位置才能获取当前位置,因此您需要在项目的 Info.plist 文件中使用适当的说明文本设置 NSLocationWhenInUseUsageDescription 键。有关详细信息,请参阅获取当前位置的指南。

  2. 现在,我在 iPhone 模拟器上运行它的方法是更改​​我在模拟器上的位置:调试 -> 位置。也就是说,它默认设置为“Apple”,我只是将其更改为 Bicycle Ride。

它对我有用,可能不适合所有人。

关于ios - 在 Swift iOS 中未调用 Google Places 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891950/

相关文章:

ios - 两个文本字段显示相同的 GMSPlace 自动完成

javascript - 自定义嵌入了 iframe 的谷歌地图

google-maps - 从隐藏区域显示谷歌地图

ios - 数据类型为protocol时如何赋值

image - 有没有办法让 iPhone 应用程序只让用户下载他们的设备分辨率所需的图形?

ios - NSLengthFormatter 未显示正确的值

ios - EKEventeditViewController 在 iOS 13 上不会显示编辑按钮

arrays - 创建自定义类的数组并初始化它问题

html - 使用 Google Maps 元素定义 div (CSS) 的百分比高度

c++ - 将日志宏转换为 Objective-C 字符串