Изменение цвета карты на основе выбора пользователя - PullRequest
0 голосов
/ 11 февраля 2019

Прошло много времени с тех пор, как у меня возникла эта проблема.Мое текущее блестящее приложение не может общаться с выбором пользователя.Предполагается, что при выборе пользователя будет отображаться изменение цветовой заливки в разных регионах.Тем не менее, похоже, что карта не показывает его.Мое лучшее предположение состоит в том, что он неправильно читает функцию 'pal' и не может захватить выбор, введенный пользователем.

любая помощь будет отличной.

library(datasets)
library(dplyr)
library(ggplot2)
library(gridExtra)
library(leaflet)
library(leaflet.extras)
library(Matrix)
library(readxl)
library(rgdal)
library(shiny)
library(stringr)
library(tidyverse)
library(tidyr)
library(RColorBrewer)

cf <- read.csv("datafile.csv")
sgmap55 <-readOGR("shapefile.kml")

bins <-c(1,50,100,150,200)
pal <- colorBin("Blues", domain = NULL, bins = bins, na.color = "#808080")

#5) setting for the labels. 
labels <- sprintf(
  "<strong>%s</strong><br/>%g respondents </sup>",
  cf$planarea, cf$planarea)%>% lapply(htmltools::HTML)


##Section C: ShinyApp starts here
ui <- fluidPage(
  titlePanel("Brand Interaction with Regions"),
  sidebarLayout(
    sidebarPanel(
      radioButtons("brand", "Select First Brand:", choices = colnames(cf[,c(3,4,5,6,7,8,9,10,11,12,13,14)]))),
    mainPanel(
      leafletOutput("sgmap2")
      
      
    )
  )
)

server <- function(input, output, session) {
  
  output$sgmap2 <- renderLeaflet({
    
    selected_brand <- input$brand
    
    leaflet() %>%
      addTiles() %>%
      addResetMapButton()%>%
      clearMarkers()%>%
      addProviderTiles("OpenStreetMap") %>%
      setView(103.8198,1.3521,11)%>%
      addPolygons(data = sgmap55,
                  highlight = highlightOptions(
                    weight = 5,
                    color = "#666666",
                    fillOpacity = 0.7,
                    fillColor = pal(input$selected_brand),
                    bringToFront = TRUE))
    
  })
}

shinyApp(ui = ui, server = server)

1 Ответ

0 голосов
/ 11 февраля 2019

удалось решить с помощью кода ниже между серверной частью:

    req(input$brand)
    cpop <- cf[[input$brand]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...