我是R中的地图新手,我最终试图解决这个问题。 我使用ggmap()来创建美国地图,然后使用geom_point()覆盖一些城市的纬度和经度。
当用户进行悬停或点击时,我可以检索坐标 - 但是,这些坐标是x-y,范围从0到1.
我试图通过计算点击/悬停点(x-y)与城市之间的距离来确定点击了城市。
如何将纬度/经度数据转换为x-y坐标?
非常感谢任何帮助!
这是代码: 在renderPlot()函数中,我运行了以下命令:
usa.map = get_map(location = 'United States',zoom = 4, color = 'bw')
g <- ggmap(usa.map) +
geom_point(data = annual_data, mapping = aes(x=LONGITUDE, y=LATITUDE, colour = delay.class), size=3) +
scale_colour_gradient(low = "white", high = "red")
在renderPrint()函数中,我正在捕捉悬停事件:
output$hover_info <- renderPrint({
if(!is.null(input$plot_hover)){
hover=input$plot_hover
}
})
输入$ plot_hover对象有字段X和Y,范围从0到1,即在绘图过程中,纬度和经度值已经光栅化(我不确定,但那是什么我想)。