【问题标题】:Using google maps without API Keys?使用没有 API 密钥的谷歌地图?
【发布时间】:2011-01-12 07:42:39
【问题描述】:

我正在开发一个将使用多个域的 CMS,并且我必须在我的页面中只使用一个谷歌地图脚本。

有没有办法在没有 API 密钥的情况下使用谷歌地图?

否则,它不起作用?

【问题讨论】:

  • 如果您的 CMS 用户需要地图,为什么不允许他们指定自己的 API 密钥?

标签: asp.net api google-maps key


【解决方案1】:

根据Google Maps API FAQ页面:

Google Maps JavaScript API v3 和 Maps Image API 以前不需要 API 控制台密钥。旧版应用程序仍支持此功能以确保向后兼容性,但不再建议用于新应用程序。

我还要指出 their examples 也不包含 API 密钥:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp"></script>

就像 Chris B 在他的回答中所说,如果用于商业用途,您确实需要一个 Google Maps API Premier 密钥。请参阅有关该主题的FAQ

【讨论】:

  • 现在需要使用 api 密钥, 你能用新的 api 密钥的信息更新你的答案吗?不提供?
  • @ПавелИванов 这是我在没有 API 密钥的情况下用于 Google 地图的解决方法:stackoverflow.com/questions/38148097/…
【解决方案2】:

如果您想在 JavaScript 中更改 API 密钥(适用于 V2),您可以编写一个包含用于启动地图的代码的包装器。然后 JS 代码根据主机名输出一个 API 密钥:

if (document.domain=="[HOSTNAME 1]") {

  document.write('[JS TAG to Google Maps API with HOSTNAME 1 Key]')

} else if (document.domain=="[HOSTNAME 2]") {

  document.write('[JS TAG to Google Maps API with HOSTNAME 2 Key]')

等等……

【讨论】:

    【解决方案3】:

    here 所述,任何版本的 Google Maps API 都可以做到这一点。基本上,如果在没有键的情况下使用地图,地图实际上唯一要做的就是显示一个抱怨它的警报。如果您捕获警报并阻止其显示,则地图将正常运行。

    此处示例:http://codethink.no-ip.org/mapHacks.html

    【讨论】:

      【解决方案4】:

      Google Maps API V3 不需要密钥。

      但是,与 V2 一样,您只能将其用于免费且可公开访问的应用程序。如果是商业产品,你需要Google Maps API Premier

      【讨论】:

      • 如果您尝试在 android web 视图中加载带有 goolge web 地图的网页,您似乎需要一个有效的密钥。并且您用于 android 地图视图的键将不起作用。
      【解决方案5】:

      你能像这样将 ApplicationSetting 添加到你的 Web.Config 文件吗

      <appSettings>
        <add key="GoogleMapAPI" value="XXXXXX" />
      </appSettings>
      

      每个域?

      然后将其添加到您的页面

      <script type="text/javascript" src="http://maps.google.com/maps?file=api&v=2&key=<%=ConfigurationManager.ApplicationSettings["GoogleMapAPI"] %>&hl=de"
      

      您可以使用您的数据库或主机标头设置类似的东西来管理每个域的每个密钥。

      【讨论】:

        【解决方案6】:

        相当有信心,要使用他们的 API,您需要一个 API 密钥。

        也许Google maps premiere可以坚持你的具体问题?

        【讨论】:

        • 在新的 V3 API 中,您不再需要密钥。
        • ...除非您尝试在 android 应用程序的网络视图中加载网络地图应用程序。
        猜你喜欢
        • 1970-01-01
        • 2013-01-06
        • 2013-12-09
        • 1970-01-01
        • 1970-01-01
        • 2016-09-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多