我想建立一个简单的项目在shinshine,当我点击在Map上的特定区域,我可以得到经度和纬度值,并存储在变量(经度和纬度存储在不同的变量),所以我可以使用它的另一个目的,如显示值在valueBox或使用long和lat更新我建立在同一页面的数据框作为Map。使用此代码
ui <- leafletOutput("map", width = 800, height = 800),
valueBoxOutput("simple_box")
server <- function(input, output, session){
## Leaflet map output
output$map <- renderLeaflet({
leaflet(apartment_map) %>%
addProviderTiles(providers$CartoDB.DarkMatter) %>%
addPolygons(fillColor = ~pal(price_mean),
weight = 1,
opacity = 1,
color = "black",
dashArray = "3",
fillOpacity = 0.5,
label = paste0("Kecamatan: ", apartment_map$NAME_2),
popup = popup.cont) %>%
addLegend("bottomright",
pal = pal,
values = ~price_mean,
title = "Apartment Price Mean",
labFormat = labelFormat(digits = 2),
opacity = 1)
})
# Preparing variable to store longitude and latitude
coordinates <- reactiveValues(latitude = NULL, longitude = NULL)
#Get lngitude and latitude
observeEvent(input$map_marker_click, {
click <- input$map_marker_click
if (!is.null(click)) {
coordinates$latitude <- click$lat
coordinates$longitude <- click$lng
}
})
#Show the value in siple value box
output$simple_box <- renderValueBox({
valueBox(
value = coordinates$latitude,
subtitle = "Longitude value"
)
})
}
我读了很多与我的问题有关的主题,但仍然没有得到运气。请帮帮我,谢谢!
1条答案
按热度按时间y1aodyip1#
你用错了
input$map_marker_click
。瓣叶Map上有几个“点击”变量:input$map_marker_click
:获取点击标记并获取其layerId或组和坐标input$map_shape_click
:获取点击多边形,矩形,圆形等...并获取其layerId或组和坐标input$map_click
:获取Map上任意位置的点击坐标在这里我认为你想使用
map_shape_click
或map_click
,因为你在这个代码中的传单Map上没有任何标记。