1

我有两个单独的数据框,其中包含一个我试图与传单映射并通过串扰提供过滤的公用密钥。对于此应用程序,闪亮不是一个选项,因为这些将是上传到 Sharepoint 以供查看的独立网页。

第一个数据框是位置列表,第二个数据框是与第一个数据框相关的其他位置的列表。目标是使用 filter_select 过滤第一个位置,并让地图为此显示一个标记,然后为相关位置显示一种不同类型的标记。如果我执行其中任何一项,串扰滤波器就可以正常工作。如果我尝试同时添加两者,过滤器将不再起作用。

如果我将所有内容放入一个数据框中并尝试两个不同的 addMarkers 调用,这也会中断,这类似于这个未回答的问题:Crosstalk links broken by second Leaflet addCircleMarkers call

任何帮助,将不胜感激!

---
title: "Untitled"
output: 
  flexdashboard::flex_dashboard:
    orientation: columns
    vertical_layout: fill
---

```{r setup, include=FALSE}
library(dplyr) ; library(flexdashboard) ; library(crosstalk) ; library(leaflet)

foo <- data.frame(
  id = rep(1:5), lat = runif(5, 34, 40), lng = runif(5, 118, 123) * -1
)

bar <- data.frame(
  id = rep(1:5, times = 5, each = 3), lat = runif(15, 34, 40), lng = runif(15, 118, 123) * -1
)

sd_foo <- SharedData$new(foo, group = "foo", key = ~id)
sd_bar <- SharedData$new(bar, group = "foo", key = ~id)
```

Column {data-width=100}
-----------------------------------------------------------------------

### Filter

```{r}
filter_select("id", "Select ID:", sd_foo, ~id, multiple = FALSE)
```

Column {data-width=500}
-----------------------------------------------------------------------

### Map

```{r}
leaflet(sd_foo) %>%
  addTiles() %>%
  addMarkers() %>%
  addCircleMarkers(data = sd_bar)
```
4

0 回答 0