我正在创建一个具有定义区域的传单地图,我已经使用了当鼠标经过该区域时返回有关该区域的信息的事件,但现在我想让地图动态化并突出显示我的指针所在的多边形。我想我应该在observeEvent中使用leafletproxy(),但现在我无法让它工作。
类似这个?它会变得有点复杂,但基本上你会想要添加一个函数,该函数将是否应该加粗作为参数。在示例中,它将是
drawStates()
。
简化的想法是:
没有你的代码我不能说太多。
我考虑过每次鼠标移到新的多边形上时重新创建地图,但首先我不太了解传单中的 addPolygons 选项如何工作以及如何定义多边形(我使用“maps”包中的地图)已经设计)。这是我构建地图的代码部分:
output$prodmap <- renderLeaflet({
pal <- colorQuantile("Reds",domain = mapdata(),na.color = "grey", probs = 0.2)
palleg <- colorNumeric("Reds",domain=mapdata(),na.color = "grey")
map=leaflet(data = mapStates(),width =500 , height =800 ) %>% addTiles() %>%
addPolygons(fillColor = ~pal(mapdata()) , color="black",weight=1 , fillOpacity = 0.7) %>%
addLegend("topleft", pal = palleg, values = mapdata(),
title = "Production 2014 :",
labFormat = labelFormat(suffix= " q/ha"),
opacity = 1 )
return(map)
})
reg=reactive({
return(
reg=map.where(database = "france", input$prodmap_shape_mouseover[4],input$prodmap_shape_mouseover[3]))})
因此“mapdata()”返回一个带有按区域排序的数据的向量,现在我使用map.where()和鼠标悬停事件来创建一个返回区域名称的反应。我认为我应该编写一个反应式,为指针的每个位置创建一个新地图,但是如何添加一个带有区域名称或坐标的新多边形?
谢谢