使用leafletProxy在Shiny中的Leaflet弹出/标签中产生迷你图

问题描述

我正在尝试在闪亮的应用程序的传单标签添加迷你图。当不使用element.style.color = "#000"; 时,我可以执行此操作,但无法弄清楚如何使用:hover(需要在我的实际应用中使用)。

请参见以下示例。对于没有代理的传单,标记显示,但标签为空白。

leafletProxy

解决方法

问题在于,呈现传单时(即在onRender函数中),renderLeaflet函数用于调用Javascript代码。另一方面,leafletProxy不会重新呈现传单,但允许修改现有的传单。这样做是为了避免重新运行可能很繁重的代码。

一种选择是将onRender放入renderLeaflet函数中,如下所示:

output$map_with_proxy <- renderLeaflet({
    
    leaflet() %>%
      addTiles() %>%
      onRender(
        "function(el,x) {
         this.on('tooltipopen',function() {HTMLWidgets.staticRender();})
         }
      ")
    
  })