在访问选项卡之前,另一个选项卡中的传单未使用 leafletproxy 进行更新

2023-12-14

我正在制作一个使用闪亮的应用程序,该应用程序使用多个选项卡。在一个选项卡(不是起始选项卡)上,我显示一张传单地图,该地图由不同选项卡上的小部件控制。

问题是,如果我更改一个选项卡上的输入,而不先访问地图,然后访问地图,则地图不会更新。但是,在地图选项卡之后或期间更改输入,地图会更新。

要复制该问题:

  1. 运行以下代码
  2. 将输入颜色更改为蓝色(无需先访问地图选项卡!)
  3. go to the "Map" tab
    • 预期行为:蓝点。实际行为:没有点(尚未绘制,就好像observe()没有被触发(注意观察被触发但没有效果),或者传单没有渲染)
  4. change the color to yellow
    • 出现黄点
  5. 转到“其他”选项卡并将颜色更改为绿色
  6. 返回“地图”选项卡并看到一个绿点

同样,当应用程序启动并且我们直接转到地图时,我希望会显示一个红点。相反,没有点。

Code:

library(shiny)
library(leaflet)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("color", "Color", choices = c("red", "blue", "yellow", "green"))
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Other", h1("Empty Tab 1")),
        tabPanel("Map", leafletOutput("map"))
      )
    )
  )
)

server <- function(input, output, session) {
  # the base map and the circles are separated due to data restrictions
  # in the actual app!
  output$map <- renderLeaflet({
    leaflet() %>% 
      addTiles()
  })
  observe({
    leafletProxy("map") %>% 
      addCircles(lng = 0, lat = 0, radius = 3e6, color = input$color)
  })
}

shinyApp(ui, server)

我怀疑leafletProxy不起作用,因为传单小部件尚未在步骤 2 中呈现。

知道如何解决这个问题吗?

在我的现实应用程序中,第一个选项卡允许用户上传数据,而第二个选项卡使用传单显示数据,因此传单地图在实际渲染之前会被更新和配置......

请注意,一次性创建传单(在observe()没有leafletProxy由于各种原因(传单的大小、依赖于其他反应值、场景等), ) 不是一个选项。


这适用于输出选项suspendWhenHidden set to FALSE并通过在观察者中添加对选项卡集的依赖关系:

library(shiny)
library(leaflet)

ui <- fluidPage(
  sidebarLayout(
    sidebarPanel(
      selectInput("color", "Color", choices = c("red", "blue", "yellow", "green"))
    ),
    mainPanel(
      tabsetPanel(
        tabPanel("Other", h1("Empty Tab 1")),
        tabPanel("Map", leafletOutput("map")),
        id = "tabset"
      )
    )
  )
)

server <- function(input, output, session) {
  
  output$map <- renderLeaflet({
    leaflet() %>% 
      addTiles()
  })
  outputOptions(output, "map", suspendWhenHidden = FALSE)
  
  proxy <- leafletProxy("map")
  
  observeEvent(list(input$tabset, input$color), {
    proxy %>% 
      addCircles(lng = 0, lat = 0, radius = 3e6, color = input$color)
  })
}

shinyApp(ui, server)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在访问选项卡之前,另一个选项卡中的传单未使用 leafletproxy 进行更新 的相关文章

  • 如何使用 R 或 PowerShell 从文本文件中提取数据?

    我有一个包含如下数据的文本文件 This is just text Username SOMETHI C Text Account DFAG Finish time 1 JAN 2011 00 31 58 91 Process ID 202
  • 准备编程竞赛的缩写和函数[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 获取所有参数作为列表

    R 是否提供对象 函数 方法 关键字来获取所有函数参数 使用一个例子 function a b default 会提供a and b也 在函数环境内 有没有类似的说法list 这还包括a and b在结果中 或者换一种方式 简写list a
  • 确定 R 中的组是否重复某个值

    我有一个包含许多列和行的数据 我想通过创建新的逻辑变量来确定某个组的值是否重复 相同 所以我的数据如下所示 v0 lt c 1 2 3 4 5 6 7 8 9 v1 lt c a b a c e c b b e v2 lt c R NA R
  • R 中的聚类分析:确定最佳聚类数

    如何选择最佳的聚类数量来进行 k 均值分析 绘制以下数据的子集后 多少个簇比较合适 如何进行聚类树突分析 n 1000 kk 10 x1 runif kk y1 runif kk z1 runif kk x4 sample x1 lengt
  • R testthat 单元测试数据和辅助函数约定

    我正在编写一个 R 包 并使用 testthat 进行单元测试 我的许多单元测试都是为了测试适用于我的包特定对象的功能 对于这些测试 我创建了一个辅助函数来设置模拟对象 我还有一些其他辅助函数来减少单元测试中的代码量 目前这些辅助函数在我的
  • 如何拆分 data.frame -> 将合并应用于子集 -> 合并到 data.frame 中

    我真的不知道如何在不使用 for 循环的情况下实现这一目标 x lt c a b c d gt x 1 a b c d data lt data frame x c a b a b c a a b c d name c one one tw
  • 如何更改数据表中的少数列名称

    我有一个包含 10 列的数据表 town tc one two three four five six seven total 需要生成我正在使用的列 一 到 总计 的平均值 DTmean lt DT lapply SD mean by t
  • R ifelse 错误地用整数替换文本

    我正在使用 Udacity 课程中的一些数据 链接 Reddit 调查回复 https s3 amazonaws com udacity hosted downloads ud651 reddit csv 我试图通过使用单个单词替代替换任何
  • 将 r 数据框中的列字符串转换为数字

    我有一个数据框 其中有一列字符串 如下所示 mydata lt c 1 356670 35 355030 1 356670 35 355030 1 356620 35 355890 1 356930 35 358660 1 357000 3
  • 带有 geom_errorbar 的position_dodge

    我有以下代码 require ggplot2 pd lt position dodge 0 3 ggplot dt aes x Time y OR colour Group geom errorbar aes ymin CI lower y
  • 读取并绘制从大文件中读取的数据

    我们有相当大的文件 大约为 1 1 5 GB 主要是日志文件 其中包含易于解析为 csv 的原始数据 随后应该将其绘制成图表以生成一组图形图像 目前 我们正在使用 bash 脚本将原始数据转换为 csv 文件 其中仅包含需要绘制图表的数字
  • 自定义 colorRampPalette 中的颜色条

    我定义了一个 colorRampPalette my colors colorRampPalette c light green yellow orange red 如何为其绘制颜色条 图例 项目 最好仅使用基本包 我正在寻找一个充满该颜色
  • 生成因子变量水平的预测值

    我正在使用连续结果变量对多个因子变量进行回归lm 例如 fit lt lm dv factor hour factor weekday factor month factor year count data df 我想生成预测值 yhat
  • 使用 X11 窗口的 R 脚本仅打开一秒钟

    我正在通过 Linux Mint 16 命令行运行 R 脚本 它包含我想在窗口中显示的箱线图 所以我使用 x11 函数来创建该窗口 这是我的代码 testdata lt data frame sample 1 1000 size 100 r
  • 如何管理和处理 R 包中的补充数据

    我想在我的 R 包中添加补充数据 我知道关于LazyData true in DESCRIPTION 但不想使用它 因为示例数据相当大 所以我创建了一个目录 data 其中包含两个 RData文件和一个datalist 我添加使用tools
  • Rstudio 命令历史记录

    这些天我经常使用 Rstudio 但最近注意到我的命令不再存储在历史记录中 我不知道这是从什么时候开始的 但可能是在安装最新版本时发生的 关于问题可能是什么的任何想法吗 Thanks 这是我们在 v0 93 73 中引入并在 v0 93 7
  • R:为什么 kable 不在 for 循环内打印?

    我正在使用 rmarkdown 和 Latex 编写报告 我需要使用打印一组表格knitr kable 但在 for 循环内时不会打印 这是我的代码 title project title author Mr Author date 201
  • 列槽不足

    当尝试为 data table 中的每个变量 108 个变量 创建 12 个滞后时 我收到一条错误 指出列槽不足 此操作应创建大约 1200 个变量或列 Data A as data table Datos A Varnames names
  • 按列分组的数据帧上 R 中的行之间的差异

    我希望通过 app name 获得不同版本的计数差异 我的数据集如下所示 app name version id count difference 这是数据集 data structure list app name structure c

随机推荐

  • 在输入文本上触发 jQuery 的按键事件

    关于 trigger method the Event object the which财产 the JS 字符代码和下面的代码 为什么 example输入没有得到字符a as 自动写入价值 我是否误解了 trigger method
  • 使用 SimpleXMLElement 读取 `` 中的文本[重复]

    这个问题在这里已经有答案了 我正在导入 RSS 提要SimpleXMLElement在 PHP 中 我对标题和描述有疑问 由于某种原因 我获取提要的网站将标题和描述放入
  • 让 chrome 显示 rss feed (2)

    这个问题是这个问题的后续问题 使用 google chrome 查看 rss feed 我从此页面复制了源代码 希望这对网站所有者来说没问题 http www petefreitag com rss 我转义了所有引号并用它制作了一个 php
  • Python函数参数作为全局变量

    我编写了以下函数 它接受一个变量input name 然后用户输入一些值 该值被分配给input name 我想知道最好的制作方法input name可在函数外部访问 我知道在函数内部将变量定义为全局变量意味着可以在函数外部使用该变量 然而
  • 你能在继承树中重新抽象一个方法吗?

    EDIT 需要明确的是 设计相当丑陋并不是重点 关键是 设计已经存在 我面临的情况是必须添加另一个子类FlyingMotorizedVehicle如果我忘记添加 这将无法按预期工作foo 所以我只是想知道是否可以将其重新定义为抽象 我现在面
  • 如何在 Drupal 8 中更新我的视图而不返回首页?

    我正在尝试刷新 Drupal 8 中的视图 而无需使用以下代码重新加载页面 function Drupal use strict setInterval function view message activity stream timel
  • 如何检测AVPlayer视频何时结束播放?

    我正在使用 AVPlayer 在 Swift 中播放本地视频文件 mp4 有谁知道如何检测视频何时播放结束 谢谢 为了得到AVPlayerItemDidPlayToEndTimeNotification你的对象需要是 AVPlayerIte
  • 使用 mechanize 登录网页

    这是我第一次使用 Python 编程 我正在尝试登录this网页 经过搜索 我发现很多人建议使用mechanize 为了确保我在开始编码之前正确设置 我下载了mechanize从网站上下载 zip 并将我的 python 脚本放在解压缩的
  • PHP 中的新行。如何?

    Code 我试图将其显示为两行 但换行符不起作用 而是在两行之间打印一个空格 我尝试过 r n 以及 PHP EOL 以及将字符串放在单引号中 它们似乎都不起作用 那么如何在 PHP 中打印新行呢 我正在研究 phpDesigner 8 U
  • fget 和 gets 之间的区别

    有什么区别fgets and gets 当用户点击 输入 时 我试图打破循环 它配合得很好gets 但我不想使用gets 我尝试过fgets and scanf 但我没有得到相同的结果gets fgets 无论用户在文本中输入什么 都会打破
  • 在Android中,不应该使用System.gc()吗?

    我想知道不应该在 android 中使用 System gc 我搜了一下开发者文档 Result 公共静态无效GC 添加到 API 级别 1 向虚拟机表明现在是个好时机 运行垃圾收集器 请注意 这只是一个提示 有 不能保证垃圾收集器实际上会
  • Android Studio:库项目依赖项是否从project.properties中选取?

    我已经从 ADT 导入了我的项目 进入 模块设置 并编辑依赖项后 一切工作正常 我的 build gradle 的依赖项块为空 所以我想知道 Ansdroid Studio 从哪里选择库依赖项 当我从 eclipse 迁移时 模块目录中有
  • 同时多个手势响应器

    我需要一些可以同时按下的按钮 但目前如果您按下一个按钮 它会 声称 响应 而其他按钮则无法再按下 我该怎么做呢 知道了 你必须使用ReactNativeEventEmitter直接监听触摸事件并完全绕过手势响应器 下面是一个装饰器类 它调用
  • 我可以在 tomcat 中放置手动提取的战争而不是deployOnStartup = true吗? tomcat中已经解压war文件是否正确

    我在 tomcat server xml 中添加了deployOnStartup true 但由于安全问题 建议将deployOnStartup false 因为保持它为true会允许部署恶意或未经测试的应用程序 因此应该禁用它 将提取的
  • 如何阻止 Windows 窗体中重写的 WndProc 函数中的双击?

    我在 Windows 窗体中创建了一个窗体 可以将其拖动到任意位置 我通过重写 WndProc 函数来实现它 该函数反过来修改每次单击 因为它是标题栏单击 found at http stackoverflow com questions
  • 混淆测试 fftw3 - 泊松方程 2d 测试

    我无法解释 理解以下现象 为了测试 fftw3 我使用 2d 泊松测试用例 laplacian f x y g x y 具有周期性边界条件 对方程进行傅里叶变换后 我们得到 F kx ky G kx ky kx ky 1 如果我取 g x
  • 在 Windows 8.1 存储 XAML 中添加新项目后,ListView.ContainerFromItem 返回 null

    我有一个简单的 ListView 没有项目模板和 SelectionChanged 事件设置
  • PHP MYSQLI编写语句登录并检查用户状态

    我正在学习使用一些基于 mysqli 的视频教程制作网站 我开始知道使用准备好的语句更安全 我正在尝试创建一个登录系统 这是我到目前为止所做的 这段代码帮助我完全登录成功
  • 使用 Cloud Functions 在 Google Cloud Platform 中设置环境变量

    我正在关注在这里指导并且似乎无法让我的Python应用程序 在GCP上很好地部署 来读取我在Cloud Functions中创建的环境变量 该函数的 REST 端点可以很好地返回环境变量 因为我已经在函数中编写了 Python 方法来执行此
  • 在访问选项卡之前,另一个选项卡中的传单未使用 leafletproxy 进行更新

    我正在制作一个使用闪亮的应用程序 该应用程序使用多个选项卡 在一个选项卡 不是起始选项卡 上 我显示一张传单地图 该地图由不同选项卡上的小部件控制 问题是 如果我更改一个选项卡上的输入 而不先访问地图 然后访问地图 则地图不会更新 但是 在