错误说明:
我正在使用谷歌GMSAutocompleteViewController
。
我在 AppDelegate 中有我的 API 密钥,Swift 3 Xcode 8 的最新 pod,import GoogleMaps 和 import GooglePlacesAPI 位于 vc 的顶部和 appDelegate 中,我的互联网连接很好。
当我在输入地址时使用 Swift 2.2 时,一切正常。现在我时不时升级到 Swift 3 我会在地址上出错,然后出现“无法加载搜索结果”云标题。当我关闭 vc 并重试时,我不断得到相同的标题。我尝试关闭应用程序并重新启动模拟器,但它不会让我访问自动完成服务。我远远低于 2500 次免费每日限制搜索,因为它实际上只有我在测试应用程序。
我还注意到 Google AutoComplete 文档说要使用 GMSPlacesClient.provideAPIKey("...") 但 GMSPlacesClient 方法 provideAPIKey 不可用,所以我只使用 GMSServices.provideAPIKey("..")。我想知道这是问题的一部分。
有谁知道这个问题的解决方法?
应用委托:
import UIKit
import GoogleMaps
import GooglePlacesAPI
import SystemConfiguration
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
override init() {
super.init()
//Google Maps API Key
GMSServices.provideAPIKey("WORKS")
GMSPlacesClient.provideAPIKey("DOES NOT WORK")
}
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
我来自googlePlaces的代码:
import UIKit
import GooglePlaces
import GoogleMaps
class ViewController: UIViewController {
@IBAction func onLaunchClicked(sender: UIButton) {
let acController = GMSAutocompleteViewController()
acController.delegate = self
present(acController, animated: true, completion: nil)
}
}
extension ViewController: GMSAutocompleteViewControllerDelegate {
func viewController(_ viewController: GMSAutocompleteViewController, didAutocompleteWith place: GMSPlace) {
print("Place name: \(place.name)")
print("Place address: \(place.formattedAddress)")
print("Place attributions: \(place.attributions)")
dismiss(animated: true, completion: nil)
}
func viewController(_ viewController: GMSAutocompleteViewController, didFailAutocompleteWithError error: Error) {
print(".....\(error)")
dismiss(animated: true, completion: nil)
}
func wasCancelled(_ viewController: GMSAutocompleteViewController) {
dismiss(animated: true, completion: nil)
}
}