【问题标题】:Options for Google Maps over SSL基于 SSL 的 Google 地图选项
【发布时间】:2010-09-05 10:18:57
【问题描述】:

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

Will the Maps API work over SSL (HTTPS)?

目前,Maps API 不支持 可通过安全 (SSL) 联系。如果您正在运行 安全站点、浏览器上的 Maps API 可能会警告用户不安全 屏幕上的对象。

我们考虑了以下选项

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

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

【问题讨论】:

标签: google-maps iframe ssl https


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      尽管如此,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>
      

      【讨论】:

      • 虽然他们的 SSL 无效,但他们也使用混合内容。
      【解决方案4】:

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

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

      【讨论】:

      • Google Maps Premier 非常棒,如果您为一家只有 10k 人的大公司工作,就坐在那里。如果你像我一样,你似乎有点不走运。
      【解决方案5】:

      只是添加到这个

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

      尚未尝试将我的 SSL 地图(最终使用 Bing 地图 api)迁移回 Google,但很可能正在考虑中。

      【讨论】:

      【解决方案6】:

      如果您在显示 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>
      

      【讨论】:

      • 推广您的个人博客的链接在这里不受欢迎。相反,我已将您博客文章的内容放入您的答案中。请在未来这样做以获得您的答案。
      【解决方案7】:

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

      【讨论】:

        猜你喜欢
        • 2012-12-04
        • 1970-01-01
        • 2010-11-24
        • 1970-01-01
        • 1970-01-01
        • 2012-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多