You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除Leaflet水印但保留OpenStreetMap版权标识?

仅保留OpenStreetMap版权标识的解决方法

要去掉Leaflet水印但保留©OpenStreetMap版权,不用全关版权控件,有两种简洁的实现方式:

方法一:通过JS渲染修改控件内容

利用htmlwidgets::onRender直接修改Leaflet底层控件的前缀(Leaflet水印来自控件前缀),保留OSM版权:

library(leaflet)
library(htmlwidgets)

leaflet() %>% 
  addTiles() %>% 
  setView(-93.65, 42.0285, zoom = 17) %>%
  onRender("
    function(el, x) {
      // 清空Leaflet水印前缀
      this.attributionControl.setPrefix('');
    }
  ")

方法二:自定义版权控件并替换默认控件

先关闭默认版权控件,再手动添加仅含OSM版权的自定义控件:

library(leaflet)

leaflet(attributionControl = FALSE) %>% 
  addTiles() %>% 
  setView(-93.65, 42.0285, zoom = 17) %>%
  addControl(
    html = "© OpenStreetMap contributors",
    position = "bottomright"
  )

说明

  • 方法一更贴合原生Leaflet逻辑,无需手动重复编写版权文本,推荐使用。
  • 方法二适合需要完全自定义版权内容或显示位置的场景。

内容的提问来源于stack exchange,提问作者Sean

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 18:52:36