【发布时间】:2017-08-16 11:37:51
【问题描述】:
将鼠标移到多边形上时,我需要显示多边形标签(带有区域名称)。但是,由于我将此属性用于我的代码的另一部分,因此无法单击多边形。这可能吗?
如果这是不可能的,另一种解决方案可能是在多边形上写一个名称。我也不知道该怎么做。 :/
这是我的代码到目前为止的样子
library(shiny)
library(leaflet)
ui <- bootstrapPage(
tags$style(type = "text/css", "html, body {width:100%;height:100%}"),
leafletOutput("map", width = "100%", height = "100%")
)
# Load shapefiles
shp_Tajo <- readOGR(dsn = "./Data/ES", layer = "Aqueduct_river_basins_TEJO", verbose = FALSE)
server <- function(input, output, session){
output$map <- renderLeaflet({
# Arguments controlling the looks of the basin polygon
dopacity = 0.3
dsmoothFactor = 1
dfillOpacity = 0.5
vcolors = c("red")
leaflet() %>% addTiles() %>% addPolygons(data = shp_Tajo, stroke = F,
opacity = dopacity, smoothFactor = dsmoothFactor, color = vcolors[1], fillColor = vcolors[1],
fillOpacity = dfillOpacity, highlightOptions = highlightOptions(color = "white", weight = 2,
bringToFront = FALSE), options = pathOptions(clickable = FALSE), label = "Tajo",
labelOptions = labelOptions(noHide = T, clickable = T, textOnly = TRUE, opacity=0.5,textsize='15px'))
})
}
形状文件可以从http://riverbasins.wateractionhub.org/#find_lat_lng下载 ,您必须在下拉菜单中选择西班牙。
任何帮助将不胜感激!
【问题讨论】:
-
请提供一个可重现的例子
-
@HubertL 我现在包含了一个可重现的示例。感谢您的评论。
-
这好多了,但是您没有提供关于如何在您的代码中使用点击事件的提示
-
@HubertL,基本上我希望用户能够通过单击地图来添加标记,即使用户单击多边形内的一个点也是如此。至于现在我只能通过设置 options = pathOptions(clickable = FALSE) 来做到这一点,但是当我将鼠标移到多边形上时,多边形标签“Tajo”不会出现。有没有办法结合这两个属性。再次感谢您的 cmets。