Google地图显示“仅供开发用途”


155

当我尝试在网页中显示Google Maps时,会显示“仅用于开发目的”消息:

在此处输入图片说明

我如何使该消息消失?

我的代码是这样的:

<script src="https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false"></script>
<script type="text/javascript">
  function initialize() {  
    var myLatlng = new google.maps.LatLng(50.5792659,8.6744471);
    var centerMap = new google.maps.LatLng(50.5792659,8.6744471);
    var div = document.getElementById('map');
  }
</script>

那以后我有

<p>
  <a
    href="https://www.google.com/maps/dir//50.5792659,8.6744471/@50.579266,8.674447,16z"
    target="_blank"
  >Route berechnen</a>
</p>

我看不到此消息的来源。


6
我知道这个问题已经得到解答,但是如果您不知道,有一个名为Google Maps Platform API Checker的Google Chrome浏览器工具可让您调试Google Maps集成-> chrome.google.com/webstore/detail/ google-maps-platform-api /…
Dayron Gallardo

Answers:


190

Google地图不再免费。您必须关联一张信用卡,以便如果您的网站提出的请求超过他们每月免费提供给您的$ 200信用额,您就可以计费。这就是为什么您获得带水印的地图的原因。

有关更多信息,请参阅:https : //cloud.google.com/maps-platform/pricing/

更新: 新计费系统的一个常见问题是您现在必须分别激活每个API。它们都有不同的定价(有些甚至是免费的),因此Google提出了让您为您的域分别启用它们的观点。我从不沉迷于Google Maps,但我感到现在的API比以前更多了。

因此,如果在启用计费后仍然收到受限使用消息,请找出您要提供的功能所需的API,然后检查其是否已启用。烦人的API设置很难找到。

  1. 转到此链接:https : //console.developers.google.com/apis/dashboard
  2. 然后,在下拉菜单中选择您的项目。
  3. 转到左侧窗格上的库。
  4. 浏览可用的API并启用所需的API。


非常感谢,您救了我的一天。对于FYI,首次将您的帐户与Google关联,您将获得免费的300 $。
majorl3oat

1
这需要几天的时间才能生效吗?我是在几天前这样做的,但仍然在我的地图上收到了该消息。甚至单击四周,并确保我接受了所有协议.....我在仪表板上看到了流量进入的位置
DigitalMystery

不,通常不会花很长时间。我的经验是几分钟。但是您可能需要启用不同的API才能正常工作。@DigitalMystery,您收到什么错误消息?
维多利亚·鲁伊斯

它在我的移动应用上。首先,它的弹出窗口“此页面无法正确加载Google Maps”。单击确定,该地图将显示以上消息。我也在用我的钥匙..... @VictoriaRuiz
DigitalMystery

36

如果满足以下任一条件,则返回带有“ 仅用于开发目的 ”的水印:

  1. 该请求缺少API密钥。
  2. 您的帐户尚未启用结算功能。
  3. 提供的计费方式无效(例如信用卡过期)。
  4. 超出了自己设定的每日限制。

29

正如Victoria所写,Google Maps不再免费,但是您可以切换地图提供商。您可能对OpenStreetMap感兴趣,这里描述了一种在您的网站上使用它的简便方法:https : //handyman.dulare.com/switching-from-google-maps-to-openstreetmap/

不幸的是,在OpenStreetMap上,没有简单的方法可以提供从一个点到另一个点的方向,也没有街景。


如何使用Angular 6做到这一点?
Kalyanam Rajashree '18

1
我从该链接向jsfiddle添加了开放的街道地图:jsfiddle.net/nLj1uaqc
Andrew


7

根据评论的建议,我使用了“ Google Maps Platform API Checker ” Chrome加载项来识别并解决该问题。

本质上,此加载项将我定向至此处,我可以这里登录Google并创建免费的API密钥。

之后,我更新了JavaScript,它立即解决了这个问题。

旧的JavaScript:... script src =“ https://maps.googleapis.com/maps/api/js?v=3” ...

更新了Javascript:... script src =“ https://maps.googleapis.com/maps/api/js?key=*****GOOGLE API KEY ******&v = 3” ...

加载项然后验证了JS API调用。希望这可以帮助某人快速解决问题!

在此处输入图片说明


3

现在,谷歌地图仅免费开发。

如果您想像以前一样免费使用地图,则创建一个具有有效详细信息(计费,付款等)的帐户,Google会提供$ 200的每月信用额,相当于免费使用

有关更多详细信息,请参阅Google的新价格详细信息:谷歌地图新价格

另请参阅旧的价格详细信息:旧的


2

如果您的mapTypeIdSATELLITEHYBRID

好了,它只是一个水印,你可以将其隐藏,如果你改变<div>z-index=100 我使用

setInterval(function(){
    $("*").each(function() {
        if ($(this).css("zIndex") == 100) {
            $(this).css("zIndex", "-100");
        }
    })}
, 10);

或者你可以使用

map.addListener('idle', function(e) {
    //same function
}

但它的响应速度不如 setInterval


“响应”是什么意思?
Artem Bernatskyi

速度更快,但效率更高
blesafho

如果这些方法一次起作用,它们似乎仍然没有。他们看起来像他们触发无限循环,因为google只是将您所做的事情作为触发器。
Nosajimiki

这种方法将无法正常工作,谷歌使用一组不同的图像,以水印把直接地图块,例如:maps.googleapis.com/maps/...
宪法

1

如果您想要一个免费的简单位置图来显示单个标记的位置,则用于您的网站,然后

  • 转到添加地图
  • 您可以在此处填写详细信息以完全自定义地图,例如位置详细信息,地图大小和格式。
  • 最后要添加google map api密钥,请使用此方法生成它。

让我知道这是否有帮助。


0

在我看来,当它显示“仅用于开发目的”时,在开发(或者只是在玩这些配置)时也看不到地图配置。就我而言,我尚未将结算功能与正在使用的API关联,因此我认为这就是其行为方式的原因。


0

对我来说,在Google控制台中激活结算后,错误已得到修复。(我有1年的开发者试用期)


-5

您不能在HTML中使用iframe标记,这是您可以做的:
*进入Google地图,指出您的位置
*单击“共享”
*进入“嵌入地图”
*复制HTML代码
* 将其粘贴到您的HTML页面
*根据您的要求调整高度和宽度
*运行它

这可能有效

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.