我想使用 google map api 来获取两个位置之间的路线。在我的 IOS 应用程序中。我尝试为项目创建公钥并在开发人员控制台中启用使用 API。但我收到此错误:此 ip 站点或移动应用程序未被授权使用此 api key IOS。出现此错误后,我尝试为(IP 地址(Web 服务器、cron 作业等))的 key 限制创建 API key 并设置我的 IP 地址,然后路由工作正常。但是当我一次又一次地从其他设备尝试这个时,我得到了这个错误。 我应该使用此 URL 进行路由:
let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving&key=APIKEY"
如何解决这个问题以在所有设备上运行我的代码。
最佳答案
您与 Google map 网络服务 (Directions API) 一起使用的 API key 支持 IP 限制,如以下文档中所述:
https://developers.google.com/maps/faq#using-google-maps-apis
问题是您无法知道安装了您的应用程序的所有设备的 IP 地址。
您有以下选择:
使用不受限制的 API key 。请注意,API key 需要 HTTPS 连接,因此 API key 不会从请求本身被拦截,因为请求已加密。因此,在这种情况下,您应该确保 API key 没有直接放在您的源代码中。如果你能从配置或环境中读取它,它可能是可行的。
创建一个中间服务器。您的 iOS 应用程序应向中间服务器发送请求,中间服务器应向 Google 发送请求并将响应传回您的应用程序。在这种情况下,您可以通过中间服务器的 IP 地址限制 API key 。
希望对您有所帮助!
关于ios - Google Map API 方向键(iOS 应用程序),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46731987/