久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

<small id='DxqDH'></small><noframes id='DxqDH'>

<tfoot id='DxqDH'></tfoot>
    <i id='DxqDH'><tr id='DxqDH'><dt id='DxqDH'><q id='DxqDH'><span id='DxqDH'><b id='DxqDH'><form id='DxqDH'><ins id='DxqDH'></ins><ul id='DxqDH'></ul><sub id='DxqDH'></sub></form><legend id='DxqDH'></legend><bdo id='DxqDH'><pre id='DxqDH'><center id='DxqDH'></center></pre></bdo></b><th id='DxqDH'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='DxqDH'><tfoot id='DxqDH'></tfoot><dl id='DxqDH'><fieldset id='DxqDH'></fieldset></dl></div>

        • <bdo id='DxqDH'></bdo><ul id='DxqDH'></ul>
      1. <legend id='DxqDH'><style id='DxqDH'><dir id='DxqDH'><q id='DxqDH'></q></dir></style></legend>

        R Leaflet:將多個組分配給一個層以過濾數據并更改

        R Leaflet: Assign multiple groups to a layer to filter data and change column represented(R Leaflet:將多個組分配給一個層以過濾數據并更改表示的列)
        <i id='naHJ8'><tr id='naHJ8'><dt id='naHJ8'><q id='naHJ8'><span id='naHJ8'><b id='naHJ8'><form id='naHJ8'><ins id='naHJ8'></ins><ul id='naHJ8'></ul><sub id='naHJ8'></sub></form><legend id='naHJ8'></legend><bdo id='naHJ8'><pre id='naHJ8'><center id='naHJ8'></center></pre></bdo></b><th id='naHJ8'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='naHJ8'><tfoot id='naHJ8'></tfoot><dl id='naHJ8'><fieldset id='naHJ8'></fieldset></dl></div>
      2. <legend id='naHJ8'><style id='naHJ8'><dir id='naHJ8'><q id='naHJ8'></q></dir></style></legend>

            <small id='naHJ8'></small><noframes id='naHJ8'>

                <tbody id='naHJ8'></tbody>
                <bdo id='naHJ8'></bdo><ul id='naHJ8'></ul>

                • <tfoot id='naHJ8'></tfoot>

                • 本文介紹了R Leaflet:將多個組分配給一個層以過濾數據并更改表示的列的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  我試圖在 R 傳單中找到一種方法來包含覆蓋按鈕,以過濾掉數據中的組.我還需要包含用于切換數據中表示的列的單選按鈕.我似乎找不到使用 addLayersControl() 函數在 R 傳單中執行此操作的方法.

                  I am trying to find a way in R leaflet to include overlay buttons which filters out groups in the data. I also need to include radio buttons which switch the column which is being represented in the data. I can't seem to find a way to do this in R leaflet using the addLayersControl() function.

                  我最初認為可以將多個組添加到單個圖層并使用 baseGroups 和 overlayGroups(如下面的代碼所示).然而,這并沒有達到預期的結果.如果有人可以提出另一種方法來實現這一目標,我將不勝感激.最好不要發亮.

                  I initial thought it would be possible to add multiple groups to a single layer and use baseGroups and overlayGroups (as seen in the code below). However, this does not achieve the desired results. I would appreciate it if someone could suggest an alternative way to achieve this. Preferably without shiny.

                  library(dplyr)
                  library(leaflet)
                  
                  data <- data.frame(Name = c("A", "A", "A", "B", "B", "C", "C", "C"),
                                     Value1 = c(12,43,54,34,23,77,44,22),
                                     Value2 = c(6,5,2,7,5,6,4,3),
                                     Lat = c(51.1, 51.6, 57.3, 52.4, 56.3, 54.3, 60.4, 49.2),
                                     Lon = c(5, -3, -2, -1, 4, 3, -5, 0))
                  data %>%
                    leaflet() %>%
                    addProviderTiles(providers$CartoDB.Positron) %>%
                    addCircles(lat=~Lat, lng=~Lon, radius = ~Value1*1000, group=c(~Name, "Value1")) %>%
                    addCircles(lat=~Lat, lng=~Lon, radius = ~Value2, group=c(~Name, "Value2")) %>%
                    addLayersControl(
                      baseGroups = c("Value1", "Value2"),
                      overlayGroups = c("A", "B", "C"),
                      options = layersControlOptions(collapsed = F)
                    )
                  

                  圖像:輸出不是我所期望的

                  推薦答案

                  下面是一個非常不優雅和 hacky 的問題解決方案.它為每個圓圈分配一個圖層 ID,并使用一些 javascript 來確定在給定輸入復選框的情況下應該顯示哪個圓圈.

                  Below is a very inelegant and hacky solution to the problem. It assigns a layer id to each circle and uses some javascript to determine which circle should be displayed given the input checkboxes.

                  可以在此處找到工作演示:https://rpubs.com/Jumble/leaflet_layer_control

                  A working demonstration can be found here: https://rpubs.com/Jumble/leaflet_layer_control

                  如果有人有更優雅的解決方案,請分享.

                  Please share if anyone has a more elegant solution.

                  library(dplyr)
                  library(leaflet)
                  library(htmlwidgets)
                  
                  data <- data.frame(ID = c("1", "2","3","4","5","6","7","8"),
                                     Name = c("A", "A", "A", "B", "B", "C", "C", "C"),
                                     Value1 = c(12,43,54,34,23,77,44,22),
                                     Value2 = c(6,5,2,7,5,6,4,3),
                                     Lat = c(51.1, 51.6, 57.3, 52.4, 56.3, 54.3, 60.4, 49.2),
                                     Lon = c(5, -3, -2, -1, 4, 3, -5, 0))
                  data %>%
                    leaflet() %>%
                    addProviderTiles(providers$CartoDB.Positron) %>%
                    addCircles(lat=~Lat, lng=~Lon, radius = ~Value1*1000, group=~Name, label=~Name, popup=~as.character(Value1), layerId = ~paste(ID,"Value1", sep="")) %>%
                    addCircles(lat=~Lat, lng=~Lon, radius = ~Value2, group=~Name, label=~Name, popup=~as.character(Value2), layerId = ~paste(ID,"Value2", sep="")) %>%
                    addLayersControl(
                      baseGroups = c("Value1", "Value2"),
                      overlayGroups = c("A", "B", "C"),
                      options = layersControlOptions(collapsed = F)
                    ) %>%
                    htmlwidgets::onRender("
                      function(el, x) {
                        var myMap = this;
                        var baseLayer = 'Value1';
                        myMap.eachLayer(function(layer){
                          var id = layer.options.layerId;
                          if (id){
                            if ('Value1' !== id.substring(1,)){
                              layer.getElement().style.display = 'none';
                            }
                          }
                        })
                        console.log(myMap.baselayer);
                        myMap.on('baselayerchange',
                          function (e) {
                            baseLayer=e.name;
                            myMap.eachLayer(function (layer) {
                                var id = layer.options.layerId;
                                if (id){
                                  if (e.name !== id.substring(1,)){
                                    layer.getElement().style.display = 'none';
                                    layer.closePopup();
                                  }
                                  if (e.name === id.substring(1,)){
                                    layer.getElement().style.display = 'block';
                                  }
                                }
                  
                            });
                          })
                          myMap.on('overlayadd', function(e){
                            myMap.eachLayer(function(layer){
                              var id = layer.options.layerId;
                              if (id){
                                  if (baseLayer !== id.substring(1,)){
                                    layer.getElement().style.display = 'none';
                                  }
                              }    
                            })
                          })
                      }")
                  

                  這篇關于R Leaflet:將多個組分配給一個層以過濾數據并更改表示的列的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                  Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                  Trigger click on leaflet marker(觸發點擊傳單標記)
                  How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                  Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                  Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)

                  <legend id='pS1iW'><style id='pS1iW'><dir id='pS1iW'><q id='pS1iW'></q></dir></style></legend>
                    <tbody id='pS1iW'></tbody>
                  <tfoot id='pS1iW'></tfoot>

                  <small id='pS1iW'></small><noframes id='pS1iW'>

                        <bdo id='pS1iW'></bdo><ul id='pS1iW'></ul>

                        1. <i id='pS1iW'><tr id='pS1iW'><dt id='pS1iW'><q id='pS1iW'><span id='pS1iW'><b id='pS1iW'><form id='pS1iW'><ins id='pS1iW'></ins><ul id='pS1iW'></ul><sub id='pS1iW'></sub></form><legend id='pS1iW'></legend><bdo id='pS1iW'><pre id='pS1iW'><center id='pS1iW'></center></pre></bdo></b><th id='pS1iW'></th></span></q></dt></tr></i><div class="qwawimqqmiuu" id='pS1iW'><tfoot id='pS1iW'></tfoot><dl id='pS1iW'><fieldset id='pS1iW'></fieldset></dl></div>
                          • 主站蜘蛛池模板: 国产黄色av网站 | 91精品国产一区二区三区 | 欧美日韩中 | 最新日韩在线 | aa级毛片毛片免费观看久 | 欧美在线观看一区 | 人人九九| 亚洲日本视频 | 亚洲国产视频一区二区 | 日韩在线免费看 | 免费一区二区三区在线视频 | 精品欧美乱码久久久久久 | 国产精品成人一区 | 日本一区二区三区四区 | 日韩国产在线观看 | 久久久久久免费看 | 国产精品免费高清 | 欧美无乱码久久久免费午夜一区 | 在线观看视频福利 | 日韩免费福利视频 | 日韩在线一区二区 | 91国内精精品久久久久久婷婷 | 性高湖久久久久久久久 | 国产精品高清在线 | 美女拍拍拍网站 | 国产成人精品久久二区二区 | 精品在线看 | 青青久久| 日韩免费av | aaa国产大片| 91看片网| 国产二区视频 | 免费观看一级特黄欧美大片 | 国产精品久久久久久久久久久免费看 | 午夜成人免费视频 | 日韩视频一级 | 欧美日韩视频一区二区 | 中文在线观看视频 | 亚洲欧美一区二区三区视频 | 久久精品久久综合 | 欧美一区免费 |