如何隐藏或禁用谷歌地图上的谷歌徽标,页脚,版权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()