从Google地图中删除报告地图错误
我有一个v3谷歌地图,在地图的右下角有一个覆盖地图的“报告地图错误”链接。有谁知道是否有可能从地图中删除它?从Google地图中删除报告地图错误
编辑: 这里是我的意思的例子:http://jsfiddle.net/ahfA5/
你不能做到这一点 - 谷歌的尝试,透过众包提供准确的数据将导致此之际。与它一起生活并接受这一限制。如果将其定位为绝对或固定,则可以将自定义元素放在画布上。但是这种侵犯他们的服务条款,因为它也包含版权声明。
没有办法通过API正确禁用此功能。请注意,如果您在未使用API的情况下将其隐藏,则将违反Google Maps API Terms of Service,截至本帖子发布之日,该地图不允许开发人员操纵此链接。请参阅10.1.1.f.x:
删除,模糊或以任何方式更改服务或内容中出现的任何品牌特征,徽标,警告,通知......或链接;
您可以对地图进行样式设置以消除此情况。检查出https://developers.google.com/maps/documentation/javascript/styling#creating_a_styledmaptype
请注意,如果您比较前两个屏幕截图,则第一个显示“报告地图错误”链接,但不显示第二个。
到虚拟样式应用到地图,以便它仍然看起来像谷歌地图,但没有错误的链接是做以下简单的方法:
var styleOptions = {
name: "Dummy Style"
};
var MAP_STYLE = [
{
featureType: "road",
elementType: "all",
stylers: [
{ visibility: "on" }
]
}
];
var mapType = new google.maps.StyledMapType(MAP_STYLE, styleOptions);
map.mapTypes.set("Dummy Style", mapType);
map.setMapTypeId("Dummy Style");
下面是更新后的jsfiddle http://jsfiddle.net/LwNyy/1/
我不明白downvote。这实际上是有效的,它符合谷歌的服务条款。不是上面悲观的非答案的粉丝。 – keithhackbarth
谢谢,很好的答案。我试过了,甚至没有必要为虚拟样式使用任何选项。这三行足够了: 'var mapType = new google.maps.StyledMapType(); map.mapTypes.set(“Dummy Style”,mapType); map.setMapTypeId(“Dummy Style”);' – typhon
啊甜!我知道必须有一个更简单的方法.. – Onkar
你可以使用CSS技巧隐藏它。这是肮脏的,但工作:
/* remove ugly google report-a-bug button from maps */
.gmnoprint:last-child {
display: none !important;
}
这里介绍的例子做的工作:
var styleOptions = {
name: "Dummy Style"
};
var MAP_STYLE = [
{
featureType: "road",
elementType: "all",
stylers: [
{ visibility: "on" }
]
}
];
var mapType = new google.maps.StyledMapType(MAP_STYLE, styleOptions);
map.mapTypes.set("Dummy Style", mapType);
map.setMapTypeId("Dummy Style");
最初的地图显示获得无默认地图上的链接!
但
在选择之一:从菜单
的MAP /地形或卫星/标签上的地图刷新报告地图上的错误链接将返回。
如果您选择作为创建StyledMapType MAP的替代方法。
报告地图错误链接可以在StyledMap上永久禁用。
但是,您现在有两个MAPS(默认和StyledMap)。
我找不到隐藏默认地图的方法。
底线我无法删除链接从默认地图永久报告地图错误。
自定义样式映射的一个问题是,当从地图/卫星或街道视图切换回来时,它不会返回到自定义样式实例。
// remove the wrapping container
.gm-style-cc:last-child {
display: none !important;
}
// remove the link only
a[title="Report errors in the road map or imagery to Google"] {
display: none !important;
}
感谢您提供最后的CSS黑客删除链接只。我从来不知道你可以用CSS来做到这一点(即tile =“xyz”) – iamchristos
我不能重现这一点。你能给一个地图的链接来演示它吗? (谷歌地图网站是这样做的,但我无法制作API地图) –
例如,如果您放大墨尔本澳大利亚,它会显示消息只出现在某些地区,例如(截至2012年6月)但不在德国法兰克福。 – CrazyTim
CrazyTim,感谢发布示例 – user730016