2016-09-27 9 views
1

나는 종류의 다른 탭 패널, 히트 맵이 활성화되면, 탭 패널을지도에 위치 클러스터를 표시하기 위해 고군분투하고있다.R 반짝 clusterOptions는 탭 패널에 표시되지?

이상한 것은 내가 ui.R에서 두번째 탭 패널 (히트 맵)를 제거 할 때, 클러스터의 첫번째 탭 패널 OK 도시되어있다.

ui.R에 히트 맵 tabPanel을 유지하고 server.R에서 "clusterOptions = markerClusterOptions()"를 제거하면 첫 번째 tabPanel에 위치가 표시되고 히트 맵이 정상입니다.

global.R

library(shiny) 
library(shinydashboard) 
library(leaflet) 
library(dplyr) 
library(plyr) 
library(rCharts) 

Lat <- c(48.89612,48.87366,48.88739,48.88558,48.87561) 
Long <- c(2.383857,2.383921,2.387161,2.386701,2.387337) 
data_test <- data.frame(Lat,Long) 
data_test <- ddply(data_test, .(Lat, Long), summarise, count = length(Lat)) 

server.R

library(rCharts) 
library(shiny) 
library(shinydashboard) 
library(leaflet) 
library(dplyr) 
library(plyr) 

    shinyServer(function (input, output){ 

     output$map1 <- renderLeaflet({ 
     leaflet() %>% setView(lng = 2.3488000, lat = 48.8534100, zoom = 12) %>% 
     addProviderTiles('CartoDB.Positron') %>% 
     addTiles() %>% 
     addCircleMarkers(lng = data_test$Long, lat = data_test$Lat,color= 
         'red', 
         clusterOptions = markerClusterOptions()) 
      }) 

     output$baseMap <- renderMap({ 
     map2 = Leaflet$new() 
     map2$setView(c(48.85341,2.34880,13)) 
     map2$addParams(height = 590, width = 880, zoom = 12) 
     map2$set(dcom = "baseMap") 
     return(map2) 
      }) 

     output$heatMap <- renderUI({ 

     j <- paste0("[",data_test[,"Lat"], ",", data_test[,"Long"], 
      ",",data_test[,"count"], "]", collapse=",") 
     j <- paste0("[",j,"]") 

     tags$body(tags$script(HTML(sprintf(" 
            var addressPoints = %s 
            if (typeof heat === typeof undefined) { 
            heat = L.heatLayer(addressPoints, {radius: 
            50,blur: 20,maxZoom: 5,max: 6.0, 
            gradient: {0.0: 'green',0.5: 'yellow',1.0: 
            'red' }}), 
            heat.addTo(map)} 
            else {heat.setLatLngs(addressPoints)}", j 
            ))))             

      }) 
     }) 

library(rCharts) 
library(shiny) 
library(shinydashboard) 
library(leaflet) 
library(dplyr) 
library(plyr) 

    header <- dashboardHeader(
    title = "Test Paris", titleWidth = 450 
    ) 

    body <- dashboardBody(
    fluidRow(
     column(width = 12, 

      tabBox(width = 12,    
      id = "CartePrincipale",     
      tabPanel("Map of Accidents",leafletOutput("map1", height="590px")), 
      tabPanel("HeatMap of Accidents", 
         showOutput("baseMap", "Leaflet"), 
         tags$style(' .leaflet {height: "590px";}'),  
    tags$head(tags$script(src="http://leaflet.github.io/Leaflet.heat/dist/leaflet-heat.js")),  
         uiOutput("heatMap")) 

         ))) 
    ) 

    dashboardPage(
     header, 
     dashboardSidebar(disable = TRUE), 
     body) 

ui.R

: 쉽게 문제를 재현 할 수 있도록 여기에

내 코드입니다 갈등이 있니? rCharts와 어울리지? 도움을 주셔서 감사합니다.

답변

0

글쎄, 나는 마침내 대답을 통해 웹 사이트에서 다른 사람의 문제에 Ramnath에서 몇 게시물과 답변 덕분에왔다. ui.r에서

는 두 번째 탭 패널에 대한 트릭은 대체 단지했다하여

showOutput("baseMap", "Leaflet") 

:

클러스터는 이제 첫 번째 탭 패널 확인 표시됩니다

htmlOutput("baseMap") 
!