Ich habe eine einfache shiny-App mit nur einem Dropdown-Liste Bezirke von Afghanistan und eine Broschüre Karte der gleichen. Shiny Leaflet - Highlight Polygon
kann die Form-Datei an diesem link zugegriffen werden - mit AFG_adm2.shp von http://www.gadm.org/download
hier ist der Code App:
library(shiny)
library(leaflet)
library(rgdal)
library(sp)
afg <- readOGR(dsn = "data", layer ="AFG_adm2", verbose = FALSE, stringsAsFactors = FALSE)
ui <- fluidPage(
titlePanel("Test App"),
selectInput("yours", choices = c("",afg$NAME_2), label = "Select Country:"),
leafletOutput("mymap")
)
server <- function(input, output){
output$mymap <- renderLeaflet({
leaflet(afg) %>% #addTiles() %>%
addPolylines(stroke=TRUE, color = "#00000", weight = 1)
})
}
# Run the application
shinyApp(ui = ui, server = server)
ich die Funktionalität wollen, dass, wenn ich wählen Sie einen Kreis aus der Dropdown Liste, die Grenze Füllung dieses Bezirks ändert sich, und die SetView-Funktion bringt diesen Bezirk in den Fokus. Kann mir jemand mit dem Code helfen? Ich habe mir this Post angesehen, kann aber nicht viel Sinn daraus machen.
, die gearbeitet, aber nur für die reproduzierbare Beispiel ... Es ist ein Fehler, wenn Sie „polygon_labelPt“ erklären. Kannst du mir das erklären, damit ich es modifizieren kann? Ich verstehe diese Codezeile nicht: 'polygon_labelPt <- selected_polygon @ Polygone [[1]] @ labpt' – ProgSnob
Okay, beim Debuggen gibt selected_polygon @ polygons eine leere Liste zurück. Wenn Sie also 'selected_polygon @ polygons [[1]]' aufrufen, wird ein Fehler mit einem Index außerhalb des Bereichs zurückgegeben. selected_polygon @ bbox scheint 2 Sätze Lat zu haben, aber lang. Können wir sie benutzen? – ProgSnob
Die erste 'selected_polygon'-Zeile untergliedert die'Afg'-Daten, um das Polygon zu extrahieren, dessen Name dem entspricht, was der Benutzer ausgewählt hat. Dann extrahiert das 'polygon_labelPt' das erste Polygon des Datenrahmens (' selected_polygon @ polygons [[1]] ') und extrahiert dann das labpt (' @ labpt'). Das labpt ist, wo das Polygon beschriftet werden soll. – NicE