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

我有这个工作,我需要使用谷歌地图API v3,他们给我的devise没有谷歌放在地图的下方的标志/页脚/版权。 那么,我需要让它被禁用或隐藏,因为我被告知无论如何我需要匹配确切的devise。

我不得不强调,通过这样做,我违反了Google服务的使用条款。

9.4归属。

(a)通过本服务向您提供的内容可能包含Google索引的内容的Google,其合作伙伴或其他第三方权利人的商标名称,商标,服务标志,徽标,域名以及其他独特的品牌特征。 当Google提供此归属地名称时,您必须按照服务提供的方式或“地图API文档”中的说明进行展示,并且不得以任何方式删除这些商品名称,商标,服务标记,徽标,域名和其他独特品牌特征。 https://developers.google.com/maps/terms

在我的工作中,他们并不关心这件事,他们总是让我去做,所以我就是这样做的。

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

#map-report div.gmnoprint, #map-report div.gmnoscreen { display: none; } img[src="http://maps.gstatic.com/mapfiles/google_white.png"] { display: none; } 

这个CSS就像魅力[2017年4月testing]。
删除Google徽标使用条款 ,并报告问题 div。

 a[href^="http://maps.google.com/maps"]{display:none !important} a[href^="https://maps.google.com/maps"]{display:none !important} .gmnoprint a, .gmnoprint span, .gm-style-cc { display:none; } .gmnoprint div { background:none !important; } 

试试这个为api v3:

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

2017年的新CSS 。 叶只干净的地图:

 a[href^="http://maps.google.com/maps"], a[href^="https://maps.google.com/maps"], a[href^="https://www.google.com/maps"] { display: none !important; } .gmnoprint:not(.gm-bundled-control) { display: none; } .gm-bundled-control .gmnoprint { display: block; } 

正如您所提到的,删除Google徽标和版权声明不符合Google Maps API TOS ,特别是第9.4段:

“通过本服务提供给您的内容可能包含Google的品牌特征,其战略合作伙伴或其他第三方权利人的内容索引,当Google通过本服务提供这些品牌特征或其他属性时, (或者在Maps API文档中描述的),不得删除或改变其归属。

为了遵守服务条款,请务必确保Google徽标和版权声明可见。

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

 <div style="width:100px; height:15px; position:absolute; margin-left:100px margin- bottom:50px; background-color:white;"> </div> 

根据需要对高度,宽度和边距进行更改。

你可以这样做:

 #map-report a img { display:none; } 

你可以防止点击谷歌copyright.so,它不会让用户移出您的应用程序。希望这可以解决您的问题。

 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; }); }); 

首先把你的地图放在一个容器中:

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

CSS:

 #map { position: relative; height: 500px; overflow: hidden; //important } #map .google-maps { position: absolute; width: 100%; height: 110%; //that will do the trick left: 0; top: 0; } 

使用这个代码(css)

 a[href^="http://maps.google.com/maps"]{display:none !important} 

在这里改进另一个解决scheme,这只是禁用地图中的链接,所以人们不会离开应用程序(并卡住没有办法回去)。 在一个应用程序中,当人们尝试滚动一个小地图并点击错误时,它会产生很大的不同。

  google.maps.event.addListenerOnce(map, 'idle', function(){ $("#map a").click(function(){ return false; }); }); 

这个:

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

就我而言就够了

像v3中的魅力一样工作:

 .gm-style-cc { display: none !important; } .gm-style a[href^="https://maps.google.com/maps"] { display: none !important; } 

请注意第二个select器在a之前使用.gm-style ,否则它将隐藏到https://maps.google.com/maps 所有链接,不仅仅是来自Google地图本身。

这将做的伎俩。

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

现在这个工作,至less直到他们修改徽标周围的链接的标题属性。

 .gm-style a[title='Click to see this area on Google Maps']{ display: none!important; } 
 .gm-style > div:first-child { z-index: 10000000 !important; } 

z-index:1000000是js为所有div添加的,但是我们只想看到map,所以我们必须设置z-index为1000000

与V3合作的一线客户

CSS

 #map .gm-style > div:not(:first-child) { display: none; } 

jQuery的

 $('#map .gm-style > div:not(:first-child)').remove()