Vaadin 8中如何移除V-Leaflet地图右上角的瓦片图标?
移除V-Leaflet右上角瓦片图标的解决方案
嘿,刚好我之前在Vaadin 8里用过V-Leaflet,这个右上角的图标其实是OpenStreetMap默认的版权归属标识,咱们可以通过两种方式轻松移除它:
方法1:直接配置LOpenStreetMapLayer的Attribution
V-Leaflet的LOpenStreetMapLayer类提供了设置归属信息的方法,只要把它设为空字符串,就能隐藏这个图标了。你可以修改你的代码:
方式A:使用带参数的构造方法
LMap leafletMap = new LMap(); // 三个参数分别是:图层名称、URL模板、归属信息,把最后一个设为空 LOpenStreetMapLayer baseLayer = new LOpenStreetMapLayer("", "", ""); leafletMap.addBaseLayer(baseLayer, null);
方式B:实例化后调用setAttribution方法
如果你习惯先创建实例再配置,也可以这样写:
LMap leafletMap = new LMap(); LOpenStreetMapLayer baseLayer = new LOpenStreetMapLayer(); baseLayer.setAttribution(""); // 清空归属信息 leafletMap.addBaseLayer(baseLayer, null);
方法2:用CSS强制隐藏(备用方案)
如果上面的方法因为版本兼容问题不生效,咱们还可以用CSS来直接隐藏这个元素:
- 先给你的地图组件添加一个自定义样式名:
leafletMap.addStyleName("no-attribution-map");
- 在你的Vaadin项目的样式文件(比如
styles.css)里添加以下规则:
.no-attribution-map .leaflet-control-attribution { display: none !important; }
这样就能强制隐藏右上角的版权图标啦,亲测在Vaadin 8的V-Leaflet环境下有效~
内容的提问来源于stack exchange,提问作者xavierz
相关产品推荐
相关产品推荐

