在 R 版本的传单中,如何获取标记被拖动到的位置的经纬度?
library(shiny)
library(leaflet)
library(tidyverse)
ui = fluidPage(
leafletOutput('map'),
textOutput('dragEndLocation')
)
server = function(input, output, session){
output$map = leaflet() %>%
addTiles() %>%
addMarkers(lat = 1,lng = 2, options = markerOptions(draggable = TRUE)
output$dragEndLocation = renderText({
???
})
}
Run Code Online (Sandbox Code Playgroud)
我在 javascript leaflet 中看到,有一个名为dragEnd您可以监听的事件,但它没有在 R leaflet 中实现。(leaflet.js - 单击时设置标记,拖动时更新位置)
这个人(如何在传单闪亮中拖动标记后更新坐标?)通过侦听input$map_marker_mouseout然后检查经纬度是否已更改,做了一个 hack-y 解决方法,但这并不理想。当您快速拖动标记时,鼠标移出会记录多次。对于这个最小的工作示例来说这不是问题,但对于我的实际应用程序来说,它希望在拖动结束后使用较慢的脚本,这使得此解决方法非常错误且缓慢。
有任何想法吗?
小智 2
老问题,但我来寻找相同的问题并弄清楚了:
observe({
print(input$map_marker_dragend)
})
Run Code Online (Sandbox Code Playgroud)
换句话说 - 您正在寻找的事件是Dragend