我有一个 Google API 控制台高级帐户,并且我正在将地方服务用于一个由两部分组成的应用程序:Web 应用程序和移动应用程序。
Google API 似乎区分了服务器和浏览器应用程序。因此,对于每个类别,我必须专门为其生成密钥。
该移动应用程序是一个本机 iPhone 应用程序,它使用 Google Places Web Services XML API 来实现简单的自动完成功能。
问题是移动应用程序属于哪一类?
以及如何使用它们的任何资源?Google JavaScript API V3 是否仍然需要高级用户的 API 密钥?有关此主题的 Google 文档没有足够的信息。
使用 Google 地图的移动应用程序有两种不同的交互类型:
有关更多信息,您可以查看: http://code.google.com/apis/maps/articles/mobile_overview_v3.html
使用 Maps JS v3 的应用程序是浏览器应用程序,而本机应用程序则两者都不是。他们有自己的 TOS 和配额系统,例如 iPhone 的和 Android 的。
关于 Google Maps JS API v3。已加载:
地点 API 的 XML Web 服务应该仅用作服务器端解决方案。这是因为您可以想象用户可能会从您的 iPhone 应用程序源窃取您的密钥(通过嗅探流量)并使用它。
安全的出路是使用代理服务器。然后,您将为服务器应用程序注册一个应用程序密钥(对您的代理服务器进行 IP 锁定),然后从该代理调用 Places API。
另一种选择是在 iPhone 端使用 UIWebView,在 Google 端使用 JS Maps API v3 和 Places 库。然后,您将属于“在本机应用程序中使用 Maps Javascript API v3 的应用程序”类别。 然后,您可以使用 3 个选项中的任何一个来加载上面提到的 JS Maps API。
我不得不删除一些链接,因为我无法粘贴两个以上的链接,但我希望无论如何都有帮助
除非您有充分的理由反对,否则“在本机应用程序中使用 Maps Javascript API v3 的应用程序”类别是最佳选择。 Google I/O 2010 上有一篇关于此的精彩演讲:http://www.google.com/events/io/2010/sessions/map-once-map-anywhere-geospatial-apps.html