如何隐藏或禁用谷歌地图JavaScript API v3上的谷歌徽标、页脚和版权?

如何隐藏或禁用谷歌地图JavaScript API v3上的谷歌徽标、页脚和版权?,javascript,html,css,google-maps,Javascript,Html,Css,Google Maps,我在工作中有一个任务,我需要使用谷歌地图API v3,他们给我的设计没有谷歌放在地图下方的徽标/页脚/版权。嗯,我需要将其禁用或隐藏,因为有人告诉我,无论发生什么情况,我都需要匹配精确的设计 我必须强调,这样做违反了谷歌服务的使用条款 9.4归因。 (a) 通过本服务向您提供的内容可能包含谷歌、其合作伙伴或谷歌索引内容的其他第三方权利持有人的商品名称、商标、服务标记、徽标、域名和其他独特的品牌特征。当谷歌提供此属性时,您必须按照服务提供的或地图API文档中的描述显示,并且不得删除或以任何方式更改

我在工作中有一个任务,我需要使用谷歌地图API v3,他们给我的设计没有谷歌放在地图下方的徽标/页脚/版权。嗯,我需要将其禁用或隐藏,因为有人告诉我,无论发生什么情况,我都需要匹配精确的设计

我必须强调,这样做违反了谷歌服务的使用条款

9.4归因。

(a) 通过本服务向您提供的内容可能包含谷歌、其合作伙伴或谷歌索引内容的其他第三方权利持有人的商品名称、商标、服务标记、徽标、域名和其他独特的品牌特征。当谷歌提供此属性时,您必须按照服务提供的或地图API文档中的描述显示,并且不得删除或以任何方式更改这些商品名、商标、服务标记、徽标、域名和其他独特的品牌功能。

嗯,在我的工作中,他们并不关心这一点,他们总是告诉我无论如何都要这样做,所以我就是这样做的

在css中,我添加了以下代码行:

#map-report div.gmnoprint,
#map-report div.gmnoscreen {
    display: none;      
}

img[src="http://maps.gstatic.com/mapfiles/google_white.png"] {
    display: none; 
}

您不能从API中删除它。但是你可以使用一个div,你可以把它放在版权声明上

<div style="width:100px; height:15px; position:absolute; margin-left:100px margin-

bottom:50px; background-color:white;">
</div>

根据需要更改高度、宽度和边距。

您可以执行以下操作:

#映射报告一个img{display:none;}

您可以阻止点击谷歌版权。这样,它就不会让用户离开您的应用程序。希望这能解决您的问题

google.maps.event.addListenerOnce(map, 'idle', function(){
    // do something only the first time the map is loaded
    //@mapCopyright - gets the google copyright tags
    var mapCopyright=document.getElementById('map-canvas').getElementsByTagName("a");   
        $(mapCopyright).click(function(){
            return false;
        });
    });
在api v3中尝试以下操作:

.gm-style cc{display:none;}

此CSS的工作原理与charm类似[2019年10月测试]
删除Google徽标、使用条款并报告问题div。

使用此代码(css)


这样就行了

$('#map span:contains("©")')
    .closest('.gmnoprint')
    .css('opacity', '0')

首先将地图放入容器中:

<div id="map">
    <div class="google-maps"></div>
</div>

改进了另一个解决方案,这只是禁用了地图中的链接,所以人们不会离开应用程序(并且会被卡住而无法返回)。在一个应用程序上,当人们试图滚动一个小地图并错误地点击时,会产生很大的不同

  google.maps.event.addListenerOnce(map, 'idle', function(){

      $("#map a").click(function(){
          return false;
      });
  });

至少在他们修改logo周围链接的title属性之前,这是暂时有效的

.gm-style a[title='Click to see this area on Google Maps']{ display: none!important; }
z-index:1000000是由js为所有div添加的,但我们只希望看到map,因此必须将z-index设置为10000000,如下所示:

#map-repor > div { 
  height: 105% !important;
}

就我而言已经足够了

2018年1月更新。只留下干净的地图:

a[href^="http://maps.google.com/maps"],
a[href^="https://maps.google.com/maps"],
a[href^="https://www.google.com/maps"] {
    display: none !important;
}
.gm-bundled-control .gmnoprint {
    display: block;
}
.gmnoprint:not(.gm-bundled-control) {
    display: none;
}
截至2018年2月,上述CSS使地图上的标记无法勾选。如果你没有任何标记,你应该不会有任何问题,但如果你只是删除了最后一条CSS规则
。gmnoprint:not(.gm bundled control)
,标记将变得可点击,但会有一些版权和使用条款标签

一行程序使用V3 CSS jQuery
如您所述,删除谷歌徽标和版权声明不符合
,特别是第9.4款:

“通过该服务提供给您的内容可能包含谷歌、其战略合作伙伴或谷歌索引内容的其他第三方版权持有人的品牌特征。当谷歌通过该服务提供这些品牌特征或其他属性时,您必须按照提供的内容显示此类属性(或如Maps API文档中所述),且不得删除或更改属性。”


为了遵守服务条款,请始终确保谷歌徽标和版权声明是可见的。

在v3上的效果非常好:

.gm-style-cc {
  display: none !important;
}

.gm-style a[href^="https://maps.google.com/maps"] {
  display: none !important;
}
请注意我在
a
之前使用的第二个选择器
.gm style
,否则它将隐藏指向
的所有链接https://maps.google.com/maps
不仅仅来自谷歌地图本身

  .gm-style-mtc,
  .gm-svpc,
  .gm-style-cc {
    display: none;
  }
我认为你应该添加一个包装块来改变新的风格!并且在左脚有谷歌标志。你可以使用inspect元素来获得同样的效果

#example-map > div > div > div:nth-child(3) {
  display: none;
}

根据谷歌api使用条款,你不能删除任何这些东西。如果你这样做了,他们发现了,至少他们会禁止你的网站/软件使用这些api。但他们可能会在涉及版权声明方面做得更糟。尽管我相信你可以在它们加载到DOM后删除它们,让那些头脑清醒的人尝试。我不会建议你你可以用OpenLayers来代替吗?我同意@josh3736,也许是时候换一份新工作了,假设谷歌在追逐你的公司。怎么说老板不坚持你,你就不得不承担后果呢?告诉设计师在设计中加入版权。至少离开某个地方是明智之举我来这里是为了证明你一开始并不想这么做……:)这是有效的,但你在地图右下角看到的东西除外。谷歌的标志仍然在左下角。不管怎样,很好,谢谢!!可能值得添加:
a[title=“向谷歌报告街景图像的问题”]
以隐藏“报告问题”分区。不幸的是,它还删除了距离刻度。。。知道如何保存它吗?小心点。因为这违反了ToS,有一天你的域名可能会被谷歌屏蔽。请务必阅读第9.4段:“通过该服务提供给您的内容可能包含谷歌、其战略合作伙伴或谷歌索引内容的其他第三方版权持有人的品牌特征。当谷歌通过该服务提供这些品牌功能或其他属性时,您必须显示所提供的属性(或地图API文档中所述的属性),并且不得删除或更改属性。“搜索引用了DeniedMaperor在中,有一些人被阻止的例子。太激进了:它也会杀死例如streetview。我喜欢这种逻辑,尽管有点粗俗。“肮脏”?你知道谷歌为免费提供这些地图付出了多少努力吗?难道不是免费的吗
a[href^="http://maps.google.com/maps"],
a[href^="https://maps.google.com/maps"],
a[href^="https://www.google.com/maps"] {
    display: none !important;
}
.gm-bundled-control .gmnoprint {
    display: block;
}
.gmnoprint:not(.gm-bundled-control) {
    display: none;
}
#map .gm-style > div:not(:first-child) { display: none; }
$('#map .gm-style > div:not(:first-child)').remove()
.gm-style-cc {
  display: none !important;
}

.gm-style a[href^="https://maps.google.com/maps"] {
  display: none !important;
}
  .gm-style-mtc,
  .gm-svpc,
  .gm-style-cc {
    display: none;
  }
#example-map > div > div > div:nth-child(3) {
  display: none;
}
a[href^="http://maps.google.com/maps"],a[href^="https://maps.google.com/maps"] {
     display: none !important;
}
.gmnoprint a,.gmnoprint span,.gm-style-cc { 
    display: none;
}