R Leaflet ClickEvent не может найти layerId - PullRequest
0 голосов
/ 06 ноября 2019

Я создаю карту листовки, отображающую различные районы местных советов с использованием полигонов. Я создал блестящее приложение, которое отображает выходные данные и регистрирует события кликов. Эти события клика сохранят значения lat, long и id, чтобы их можно было сопоставить с идентичным фреймом данных и использовать для вызова сводной статистики:

, т. Е. Щелкните область совета x на карте, и она вернет название этого клика. событие в виде строки, которая затем будет использоваться для получения сопоставления сводной статистики из таблицы данных с более обширной совокупной информацией.

Я пытаюсь назначить каждому полигону уникальный идентификатор на основе входной информации в виде большого фрейма данных пространственных полигонов.

bins <- c(2000, 2500, 3000, 3500, 4000, 4500, 5000, Inf)
pal <- colorBin("YlOrRd", domain = map_data$rank, bins = bins)

# Plot mean SIMD rank for each council area
map <- leaflet(map_data) %>% 
  setView(-3.2008, 55.9452, 7) %>%
  addProviderTiles("CartoDB.Positron", 
                   options= providerTileOptions(opacity = 0.99)) %>% 
  addPolygons(fillColor = ~pal(rank),
              layerId = ~map_data$names, # Here is the layerId
              weight = 2,
              opacity = 1,
              color = "white",
              dashArray = "3",
              fillOpacity = 0.7,
              highlight = highlightOptions(
                weight = 2,
                color = "#666",
                dashArray = "",
                fillOpacity = 0.7,
                bringToFront = TRUE),
              label=~paste(map_data$names, 
                           round(map_data$rank)),
              labelOptions = labelOptions(textsize = "15px",
                                          direction = "auto"))

Блестящий сервер вызывает это как:

observeEvent(input$map_click, {

        click <- input$map_click

        print(click$id)
}

Используя этот подход, он может распечатать широту и долготу события click на консоль, но выдает NULL для идентификатора.

Меня смущает это, так как вызов данных $ names отлично работает для меток, как вы можете видеть в функции выше. Все имена уникальны.

...