我正在使用 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 模拟器上遇到了同样的问题。
修复是在 Info.plist 中添加
NSLocationWhenInUseUsageDescription
权限!但是,它只适用于我的 iPhone 6 设备,不适用于模拟器。如 Google 地方指南中所述: ( https://developers.google.com/places/ios-api/start )
请注意,由于此示例需要访问设备的位置才能获取当前位置,因此您需要在项目的 Info.plist 文件中使用适当的说明文本设置 NSLocationWhenInUseUsageDescription 键。有关详细信息,请参阅获取当前位置的指南。
现在,我在 iPhone 模拟器上运行它的方法是更改我在模拟器上的位置:调试 -> 位置。也就是说,它默认设置为“Apple”,我只是将其更改为 Bicycle Ride。
它对我有用,可能不适合所有人。
关于ios - 在 Swift iOS 中未调用 Google Places 回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31891950/