CSV 列表作为 Shiny 中 SelectizeInput 的来源

CSV List as a source for SelectizeInput in Shiny

我是 Shiny 和 R 的新手(具有数据库背景),非常感谢您的帮助。我正在尝试在地图上创建一个搜索工具(没有 Nominatim)以将地图缩放到它 - 我在 csv 文件(1800 个条目)中有一个街道列表及其 lat/lon。

我叫他们

streets <-read.csv(file = "Q:/R/streets.csv")

然后在 ui.r 我使用输入

selectizeInput('st', 'Street to center the map', choices =  streets)

但是控件 returns 一个 ID 列表 - 它们只是由系统生成,而不是在文件中,所以我们不说 'High Street' 它显示“23”。 csv结构为StreetName/Lat/Lon

如何让它显示街道名称列? 我可以输出 lat/lon (基于街道选择)还是我需要从服务器端的文件中再次获取这一部分(重新查询文件)?我只需要从输入中重新调整地图的中心点

尝试choices=as.vector(streets$StreetName)。要使 selectizeInputselectInput return 的值不同于显示的名称,请尝试 choices=setnames(streets$Lat, streets$StreetName)。不确定如何使它成为 return 两个数字(纬度,经度)。

添加到上面的答案中,由于您已经处理了 csv 文件并得到了一个名为 streets 的数据框,您可以直接使用 'streets' 根据选择进一步检索 lat/lon街道名称。为此对数据框街道进行子集化。