我有一个 v3 谷歌地图,在地图的右下角,有一个覆盖在地图上的“报告地图错误”链接。有谁知道是否可以从地图中删除它?
编辑:这是我的意思的一个例子:http: //jsfiddle.net/ahfA5/
我有一个 v3 谷歌地图,在地图的右下角,有一个覆盖在地图上的“报告地图错误”链接。有谁知道是否可以从地图中删除它?
编辑:这是我的意思的一个例子:http: //jsfiddle.net/ahfA5/
您可以设置地图样式以摆脱这种情况。看看这个。
请注意,如果您比较前两个屏幕截图,“报告地图错误”链接出现在第一个屏幕中,而第二个屏幕则没有。
将虚拟样式应用于地图以使其看起来仍然像谷歌地图但没有错误链接的最简单方法是执行以下操作:
const styleOptions = {
name: `Dummy Style`,
}
const MAP_STYLE = [
{
featureType: `road`,
elementType: `all`,
stylers: [{ visibility: `on` }],
},
]
const mapType = new google.maps.StyledMapType(MAP_STYLE, styleOptions)
map.mapTypes.set(`Dummy Style`, mapType)
map.setMapTypeId(`Dummy Style`)
自定义样式地图的一个问题是,当从地图/卫星或街景切换回来时,它不会返回到自定义样式实例。
// 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;
}
无法通过 API 正确禁用此功能。
请记住,如果您在不使用 API 的情况下隐藏它,则会违反 Google Maps API服务条款,截至本文发布之日,该条款不允许开发人员操纵此链接。请参阅 10.1.1.fx:
删除、隐藏或以任何方式更改出现在服务或内容中的任何品牌特征、徽标、警告、通知……或链接;
此处提供的示例确实有效:
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/Terrain 或 SATELLITE/Label 菜单中的 Report map error 链接 RETURNS 在地图刷新时。
如果您选择创建 StyledMapType MAP 作为替代方案。
可以在 StyledMap 上永久禁用报告地图错误链接。
但是您现在有两个 MAPS(Default 和 StyledMap)。
我找不到隐藏默认地图的方法。
底线我无法永久删除默认地图中报告地图错误的链接。
您可以使用 CSS 技巧隐藏它。它很脏但有效:
/* remove ugly google report-a-bug button from maps */
.gmnoprint:last-child {
display: none !important;
}
你不能这样做——谷歌通过众包提供准确数据的尝试有时会导致这种情况。忍受它并接受这种限制。如果您将其定位为绝对或固定,您可以在画布顶部放置自定义元素。但这违反了他们的服务条款,因为它也涵盖了版权声明。