【发布时间】:2016-05-12 05:25:11
【问题描述】:
我想在传单地图上画几件事(通过 Shiny/R)
我这样初始化地图
map = leaflet() %>% addProviderTiles("Stamen.TonerLite") %>% setView(-1.5, 53.4, 9)
output$myMap = renderLeaflet(map)
然后,根据在应用程序中单击的内容,我想绘制Markers 或Polygon
sp <- reactiveValues()
ep <- reactiveValues()
area <- reactiveValues()
area$mp <- matrix(...) # empty matrix with 2 cols named lat/lng
observeEvent(input$map_click, {
coords <- input$map_click
if ( (!is.null(as.integer(input$button)) && (!is.null(coords))) ) {
if (as.integer(input$button) == 1) {
sp[["lat"]] <- coords$lat
sp[["lng"]] <- coords$lng
} else if (as.integer(input$button) == 2) {
ep[["lat"]] <- coords$lat
ep[["lng"]] <- coords$lng
} else if (as.integer(input$button) == 3) {
cm <- matrix(data = c(coords$lat, coords$lng), nrow = 1, ncol = 2)
area$mp <- rbind(area$mp, cm)
} else {
print("Kawum!")
}
})
现在我无法想到的是如何在传单地图上绘制一些东西。
什么是group ID,什么是layer ID。 leafletProxy 在哪里发挥作用?
根据启动的if else 语句,我将如何将数据发送到leaflet 并添加marker 或polygon?
非常感谢任何帮助或指出正确方向!
【问题讨论】:
标签: r geolocation shiny leaflet polygon