繁体   English   中英

通过 SSL 的 Google 地图选项

[英]Options for Google Maps over SSL

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

Maps API 能否通过 SSL (HTTPS) 运行?

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

我们考虑了以下选项

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

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

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

不过,作为记录,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>

只是为了补充这个

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

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

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

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

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

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

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

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

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

<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>

我刚刚删除了 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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM