ios - 在创建新 key 并删除旧 key 后,我在我的 iOS Xcode 项目中使用适用于 iOS 的 Google Maps SDK 的不受限制的 api key

标签 ios swift google-maps google-maps-sdk-ios google-directions-api

在创建新 key 并删除旧 key 后,我在我的 iOS Xcode 项目中使用适用于 iOS 的 Google Maps SDK 的不受限制的 api key ,但我的请求被拒绝了。在我使用第一个键之前它起作用了。

这是错误信息:

[error_message: This API project is not authorized to use this API., status: REQUEST_DENIED, routes: <__NSArrayM 0x60000097f5d0>(

)

这是我在 AppDelegate 中的代码:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    
    GMSServices.provideAPIKey("***")
    GMSPlacesClient.provideAPIKey("***")

}

这是我运行请求的代码:

let directionsURLString = "https://maps.googleapis.com/maps/api/directions/json?origin=1%20Cuntry%20Club%20Ln,%20Texarkana,%20AR&destination=1%20Cuntry%20Club%20Ln,%20Texarkana,%20AR&waypoints=optimize:true%7C921%20Orleans%20St,%20Texarkana,%20AR%7C2510%20E.%2011th%20St.,%20Texarkana,%20AR%2071846%7C4125%20Lynn%20Dr,%20Texarkana,%20TX%7C6002%20Yorktown%20Pl,%20Texarkana,%20TX%7C7007%20Stonewall%20Dr,%20Texarkana,%20TX%7C4009%20Constitution%20Dr,%20Texarkana,%20TX%7C413%20Dundee%20Rd,%20Texarkana,%20AR%7C2219%20Hazel%20St,%20Texarkana,%20TX%7C414%20Central%20Ave,%20Wake%20Village,%20TX&mode=driving&key=***"

let directionsURL = URL(string: directionsURLString)!

DispatchQueue.main.async {
    
    do {
        
        let directionsData = try Data(contentsOf: directionsURL)
        
        let dictionary: Dictionary<NSObject, AnyObject> = try JSONSerialization.jsonObject(with: directionsData, options: JSONSerialization.ReadingOptions.mutableContainers) as! Dictionary<NSObject, AnyObject>
        
        print(dictionary)
        
        let status = dictionary["status" as NSObject] as! String
        
        print("status=" + status)
        
    } catch {
        
        print(error)
        
    }
    
}

最佳答案

如果您的 API key 确实完全不受限制,那么您遇到的这个 REQUEST_DENIED 错误可能意味着以下内容:

A) 与您的项目相关联的计费帐户存在问题,或者您没有 created一。请仔细检查您的结算帐户是否已启用且信誉良好。

B) 您的项目禁用了 Directions API。要启用它,请查看 this guide .

希望这对您有所帮助!

关于ios - 在创建新 key 并删除旧 key 后,我在我的 iOS Xcode 项目中使用适用于 iOS 的 Google Maps SDK 的不受限制的 api key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59437644/

相关文章:

swift - tvOS 中的 AVPlayerViewController 下拉菜单

javascript - 访问ajax之外的变量

html - 谷歌地图在 IE 中不显示

ios - 不执行 segue

ios - UITabBar 在 iOS7 上更改一个 UITabBarItem 的背景颜色

objective-c - 对象在 View 中和设备方向更改后位置不正确

iphone - 继承 UIViewController 类和 XIB

swift - 如何使用 CoreML 处理来自相机的非方形帧?

swift - ParseLiveQuery 无法访问 Pointer 对象

java.lang.NoClassDefFoundError : com/codename1/ui/ComponentSelector