Google 地图如何查看本机 iPhone 应用程序:服务器应用程序还是浏览器应用程序?

问题描述 投票:0回答:2

我有一个 Google API 控制台高级帐户,并且我正在将地方服务用于一个由两部分组成的应用程序:Web 应用程序和移动应用程序。

Google API 似乎区分了服务器和浏览器应用程序。因此,对于每个类别,我必须专门为其生成密钥。

该移动应用程序是一个本机 iPhone 应用程序,它使用 Google Places Web Services XML API 来实现简单的自动完成功能。

问题是移动应用程序属于哪一类?

  • 浏览器应用程序
  • 服务器应用程序

以及如何使用它们的任何资源?Google JavaScript API V3 是否仍然需要高级用户的 API 密钥?有关此主题的 Google 文档没有足够的信息。

ios google-maps-api-3 restful-authentication
2个回答
3
投票

使用 Google 地图的移动应用程序有两种不同的交互类型:

  • 使用 Maps Javascript API v3(直接或嵌入本机应用程序)
  • 使用本机 Google 地图 API(当前适用于 Android 和 iPhone)

有关更多信息,您可以查看: http://code.google.com/apis/maps/articles/mobile_overview_v3.html

使用 Maps JS v3 的应用程序是浏览器应用程序,而本机应用程序则两者都不是。他们有自己的 TOS 和配额系统,例如 iPhone 的和 Android 的。

关于 Google Maps JS API v3。已加载:

  • 无需任何钥匙
  • 使用 API 控制台密钥,可让您跟踪您的使用情况(这是最近推出的)
  • 如果您是 Maps API Premier 客户,请使用 Maps Premier 客户端 ID (gme-)

地点 API 的 XML Web 服务应该用作服务器端解决方案。这是因为您可以想象用户可能会从您的 iPhone 应用程序源窃取您的密钥(通过嗅探流量)并使用它。

安全的出路是使用代理服务器。然后,您将为服务器应用程序注册一个应用程序密钥(对您的代理服务器进行 IP 锁定),然后从该代理调用 Places API。

另一种选择是在 iPhone 端使用 UIWebView,在 Google 端使用 JS Maps API v3 和 Places 库。然后,您将属于“在本机应用程序中使用 Maps Javascript API v3 的应用程序”类别。 然后,您可以使用 3 个选项中的任何一个来加载上面提到的 JS Maps API。

我不得不删除一些链接,因为我无法粘贴两个以上的链接,但我希望无论如何都有帮助


1
投票

除非您有充分的理由反对,否则“在本机应用程序中使用 Maps Javascript API v3 的应用程序”类别是最佳选择。 Google I/O 2010 上有一篇关于此的精彩演讲:http://www.google.com/events/io/2010/sessions/map-once-map-anywhere-geospatial-apps.html

© www.soinside.com 2019 - 2024. All rights reserved.