【问题标题】:Google Maps api key - cross platform谷歌地图 api 密钥 - 跨平台
【发布时间】:2017-01-11 22:02:32
【问题描述】:

我有一个可用的 iOS 应用程序,它使用 Google Maps API 并直接从应用程序进行 api 调用。现在我将一些逻辑转移到 Node.js 中的后端服务。我想从 maps api 获取数据,并将其发送回应用程序进行演示。

另外,谷歌介绍视频告诉我应该将我的所有 api 请求路由到网络服务器,然后网络服务器应该将请求发送到 Google Maps API。 我的困惑是,如果我使用网络服务,除了显示地图本身之外,我为什么还需要 iOS 键?

这里的最佳或标准做法是什么?在这里需要架构/设计建议。

应用程序基本上是将各种方向、地点等组合在一起并在地图上显示它们。我计划构建一个具有相同功能的原生 android 应用程序。

【问题讨论】:

  • 您可以创建密钥,而无需在控制台中添加任何 sha1 密钥
  • 请在您的问题主题上更加具体,它非常广泛,尝试写(简而言之)什么不起作用或您想知道该怎么做。

标签: android ios google-maps google-maps-api-3


【解决方案1】:

按照 Google 的说明 (https://developers.google.com/maps/documentation/geocoding/get-api-key),您应该为所开发的每个不同平台创建一个 API 密钥。

在这种情况下,我建议您为您的 iOS 应用创建一个 API 密钥,为您的网络服务创建一个服务器密钥,并为您未来的 Android 应用(不同于 iOS 应用)创建另一个客户端 API 密钥。

当您转到开发者控制台 (https://console.developers.google.com/apis/credentials) 并要求创建新的 API 密钥时,您会看到 Google 为您提供了不同的选择:服务器密钥、浏览器密钥、iOS 密钥、Android 密钥等。每个不同密钥有不同的用途,应仅限于相应的平台(例如:不要将服务器密钥放在 iOS 应用等客户端应用中,反之亦然)。

【讨论】:

    【解决方案2】:

    对于您问题的这一部分...“另外,谷歌介绍视频告诉我应该将我的所有 api 请求路由到网络服务器,然后网络服务器应该将请求发送到谷歌地图。我的困惑是如果我使用的是网络服务,为什么除了显示地图本身之外我还需要 iOS 密钥”

    我认为他们在谈论的是您的 javascript 文件,例如应该在网络服务器上。在不确切知道您指的是什么的情况下,我不能说,但这可能是他们的一个令人困惑的陈述。

    【讨论】:

    • 感谢大家的回复。我正在寻找最佳实践流程。
    • 感谢大家的回复。我正在寻找最佳实践流程。调用流程应该是 app--> web server --> maps api 或 app--> maps api 和 app--> web server。我想将maps api返回的部分数据保存到mongo db。所以我可以在技术上做到这两种方式。 1)应用程序映射api,然后一旦用户完成,我可以将更改保存到我的mongo服务器,2)应用程序到Web服务器->映射api。然后 web 服务器在返回应用程序之前将数据保存到 mongo。第二种方法使我免于访问 Web 服务器。这就是我要决定的选项 1 或 2。以及这种情况下的典型做法是什么。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-20
    相关资源
    最近更新 更多