R 如何防止传单地图在闪亮的应用程序中重置缩放?
我和其他人已经构建了一个在线应用程序的原型,以帮助交通规划者优先考虑自行车道的新资金: 我们对结果感到满意,并对Shiny无需编写一行JavaScript即可快速为web部署创建概念原型的能力印象深刻。然而,该应用程序有一个主要问题,你可以通过放大然后调整透明度滑块看到:每次你这样做时,缩放都会重置。因此,问题很简单:如何重新写入,使地图不会重置其缩放设置 整个应用程序可以在下面的链接中看到,如果您有正确的软件包(例如rgdal、传单、ggmap),则应可在任何R安装上复制:R 如何防止传单地图在闪亮的应用程序中重置缩放?,r,leaflet,shiny,R,Leaflet,Shiny,我和其他人已经构建了一个在线应用程序的原型,以帮助交通规划者优先考虑自行车道的新资金: 我们对结果感到满意,并对Shiny无需编写一行JavaScript即可快速为web部署创建概念原型的能力印象深刻。然而,该应用程序有一个主要问题,你可以通过放大然后调整透明度滑块看到:每次你这样做时,缩放都会重置。因此,问题很简单:如何重新写入,使地图不会重置其缩放设置 整个应用程序可以在下面的链接中看到,如果您有正确的软件包(例如rgdal、传单、ggmap),则应可在任何R安装上复制: 有关更多内容,
有关更多内容,请参阅。我有同样的问题,我想我找到了一些有效的方法: 使用
proxy
更改生成地图的方式,如图中所述和所示。首先,尝试如下设置renderleaft
函数:
output$map = renderLeaflet(leaflet() %>%
addTiles(urlTemplate = "http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png") %>%
setView(...) # add the parameters as appropriate set the view or use fitBounds
然后使用observe
函数和proxy
绘制如下线条和圆圈:
observe({
leafletProxy("map") %>%
clearShapes() %>%
addPolygons(layerId= "layer1"
, data = leeds
, fillOpacity = 0.4
, opacity = (input$transp_zones)*.4
, fillColor = leeds$color_pcycle
) %>%
addPolyLines(layerId = "layer2"
, data = lfast, color = "red"
, opacity = input$transp_fast
, popup = sprintf("<dl><dt>Distance </dt><dd>%s km</dd><dt>Journeys by bike</dt><dd>%s%%</dd>", round(flows$fastest_distance_in_m / 1000, 1), round(flows$p_cycle * 100, 2))
) %>%
# and so on in a similar fashion for the rest of your shapes
})
观察({
传单代理(“地图”)%%>%
clearShapes()%>%
添加多边形(layerId=“layer1”
,数据=利兹
,fillOpacity=0.4
,不透明度=(输入$transp_zones)*.4
,fillColor=leeds$color\u pcycle
) %>%
添加多段线(layerId=“layer2”
,data=lfast,color=“红色”
,不透明度=输入$transp\u fast
,弹出窗口=sprintf(“距离%s公里骑自行车旅行%s%%”,循环(流动$faster\u Distance\u in\u m/1000,1),循环(流动$p\u cycle*100,2))
) %>%
#以此类推,以类似的方式处理其他形状
})
您需要添加层ID,以确保在更改参数时新形状替换旧形状。这样,您就不需要您拥有的映射选项(zoomToLimits=“first”)