使用没有API密钥的谷歌地图?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用没有API密钥的谷歌地图?相关的知识,希望对你有一定的参考价值。

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

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

否则,它不起作用?

答案

Google Maps API V3不需要钥匙。

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

另一答案

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

就像克里斯B在他的回答中所说,如果是商业用途,你需要有一个Google Maps API Premier钥匙。请参阅有关该主题的FAQ

另一答案

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

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

另一答案

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

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

另一答案

您可以像这样在Web.Config文件中添加ApplicationSetting吗?

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

您可以使用数据库或主机标头来管理类似的内容,以管理每个域的每个密钥。

另一答案

如果要在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]')

等等...

以上是关于使用没有API密钥的谷歌地图?的主要内容,如果未能解决你的问题,请参考以下文章

谷歌地图片段显示空地图

Android中的谷歌地图签名api密钥错误

使用片段的谷歌地图

使用特定城市的谷歌地图 API 获取自动完成的地址

谷歌地图在Android的标签片段上显示为灰色

加载地图失败。在片段上联系 Google 服务器时出错