20

我们最近发现 Google Maps API 不能很好地与 SSL 配合使用。很公平,但是其他人有效地使用了哪些选项来克服这个问题?

Maps API 是否可以通过 SSL (HTTPS) 工作?

目前,地图 API 无法通过安全 (SSL) 连接使用。如果您在安全站点上运行 Maps API,浏览器可能会警告用户屏幕上的非安全对象。

我们考虑了以下选项

  1. 拆分页面,以便信用卡收集(SSL 的要求)与 Google 地图不在同一页面上。
  2. 切换到另一个地图提供程序,例如 Virtual Earth。有传言说他们支持 SSL。
  3. 使用 IFRAME 玩花样。听起来很笨拙。
  4. 将呼叫代理到 Google。听起来开销很大。

是否还有其他选择,或者是否有人对我们考虑过的选项有深入了解?

4

7 回答 7

14

我同意前两个答案,在这种情况下,从可用性的角度来看,将这两个功能分成单独的屏幕可能会更好。您确实希望您的用户专注于输入完整且准确的信用卡信息,而在同一屏幕上显示地图可能会分散注意力。

尽管如此,Virtual Earth 确实完全支持 SSL。要启用它,您只需将脚本引用从 http:// 更改为 https:// 并将 &s=1 附加到 URL,例如

<script src="http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1" type="text/javascript"></script>

变成

<script src="https://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1&s=1" type="text/javascript"></script>
于 2008-08-21T17:32:37.307 回答
8

只是添加到这个

http://googlegeodevelopers.blogspot.com/2011/03/maps-apis-over-ssl-now-available-to-all.html

还没有尝试将我的 SSL 地图(最终使用 Bing 地图 api)迁移回 Google,但很可能会成功。

于 2011-03-17T09:51:34.987 回答
5

这似乎是一个业务需求/可用性问题 - 您是否有充分的理由将地图放在信用卡页面上?如果是这样,也许值得解决一些技术问题。

您可以尝试使用Mapstraction,这样您就可以切换到支持 SSL 的提供商,如果他们将来支持它,请切换回 Google。

于 2008-08-06T19:37:27.733 回答
3

我会选择你的第一个解决方案。这允许用户专注于输入他们的信用卡详细信息。

然后,您可以将它们转移到另一个网页,该网页会询问或提供与 Google 地图相关的更多信息。

于 2008-08-06T14:40:20.720 回答
3

如果您是Google Maps API Premier客户,则支持 SSL。我们使用它并且效果很好。

在 Google 提供 SSL 之前,我们代理了所有流量,这可以接受。当您使用这种方法时,您将失去 Google 的 CDN 的优势,并且您的 IP 可能会被禁止,因为看起来您正在产生大量流量。

于 2009-09-30T19:32:07.683 回答
1

如果您在显示 Google 地图时在 IE 9 上收到安全警报,请使用

<script src="https://maps.google.com/maps?file=api&v=2&hl=en&tab=wl&z=6&sensor=true&key=<?php echo $key;?>
" type="text/javascript"></script>

代替

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&sensor=SET_TO_TRUE_OR_FALSE"
  type="text/javascript"></script>
于 2012-08-03T17:26:29.380 回答
0

我刚刚删除了 http 协议,它起作用了!

由此:

<script src="http://maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>

对此:

<script src="//maps.google.com/maps/api/js?sensor=true" type="text/javascript"></script>
于 2017-06-03T07:56:26.933 回答