当用户在 Shiny 的应用程序中单击该 map 时,是否有一种方法可以在传单 map 上设置可见标记(复数)?此外,是否可以检索该标记的坐标?
如果不是在shiny中,你能在leaflet JS中做到这一点吗?
最佳答案
如果没有任何代码,很难具体说明,但这里是基础知识。
1) Shiny/Leaflet 允许您订阅鼠标单击等事件。如果您的 map 名为 MyMap
,您将使用以下代码:
ClickVar<-input$MyMap_click
那么 ClickVar
是一个 react 变量 - 一个列表,其中包括纬度、经度和 layerId
。
现在您已经有了纬度和经度,您可以使用它来添加弹出窗口。在 observerEvent
中完成所有这些操作,如下所示:
observeEvent( input$MyMap_click, {
ClickVar<-input$MyMap_click
addPopups(MyMap, lng=ClickVar$lng, lat=ClickVar$lat, popup="Here I am")
})
注意 - 我还没有测试过这个,所以你可能需要稍微改变它。您可能还需要考虑在单击另一个弹出窗口时删除一个弹出窗口,为它们分配 layerID
或 group
等。
关于r - map 传单上的标记 Shiny ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37137935/