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

如何修改Leaflet中leafpm工具栏的工具提示文字?

在R Shiny中自定义Leafpm工具栏提示文字

要在R的Shiny应用里修改Leafpm工具栏的提示文字,核心思路是给Leaflet地图注入自定义JavaScript代码,直接修改Leaflet.draw的本地化配置。具体可以通过htmlwidgets::onRender()实现,以下是完整的修改示例:

完整代码示例

library(shiny)
library(leaflet)
library(mapedit)
library(leafpm)
library(htmlwidgets) # 需加载此包使用onRender函数

ui <- shinyUI(
  editModUI("map", height=600)
)

server <- function(input, output, session) {
  observe({
    # 创建注入自定义JS的leaflet地图
    custom_map <- leaflet() %>% 
      addTiles() %>% 
      onRender("
        function(el, x) {
          // 自定义各工具提示文字
          L.drawLocal.draw.toolbar.buttons.zoomIn = '放大地图';
          L.drawLocal.draw.toolbar.buttons.zoomOut = '缩小地图';
          L.drawLocal.draw.toolbar.buttons.marker = '添加标记点';
          L.drawLocal.draw.toolbar.buttons.polygon = '绘制田地边界';
          L.drawLocal.draw.toolbar.buttons.polyline = '绘制路线';
          
          // 如需修改编辑类工具提示,可添加以下配置
          // L.drawLocal.edit.toolbar.buttons.edit = '编辑图形';
          // L.drawLocal.edit.toolbar.buttons.remove = '删除图形';
        }
      ")
    
    edits <- callModule(
      editMod,
      leafmap = custom_map,
      id = "map",
      editor="leafpm",
      editorOptions=list(toolbarOptions = pmToolbarOptions(
        drawMarker=T, 
        drawPolygon=T, 
        drawPolyline=T, 
        drawCircle=F, 
        drawRectangle=F, 
        removalMode=T, 
        cutPolygon=T, 
        editMode=T
      ))
    )
  })
}

shinyApp(ui = ui, server = server)

关键说明

  • 必须加载htmlwidgets包,依赖其onRender()函数向地图注入JS代码
  • 在onRender()的JS代码块中,通过修改L.drawLocal对象的对应属性自定义提示:
    • L.drawLocal.draw.toolbar.buttons.zoomIn:对应默认"Zoom In"提示
    • L.drawLocal.draw.toolbar.buttons.zoomOut:对应默认"Zoom Out"提示
    • L.drawLocal.draw.toolbar.buttons.marker:对应默认"Draw Marker"提示
    • L.drawLocal.draw.toolbar.buttons.polygon:对应默认"Draw Polygon"提示
    • L.drawLocal.draw.toolbar.buttons.polyline:对应默认"Draw Polyline"提示
  • 若需修改编辑、删除等功能的提示,可参照格式添加L.drawLocal.edit相关配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:37:06