将一组标记放在传单的前面
Bring a group of markers to front in leaflet
我正在尝试使用 awesomeMarkers 在 rShiny 的传单上绘制一些密集的位置。我尝试了多种方法,但我想要的是让某一组标记出现在其他标记之上。我在下面提供了一个小示例数据集,本质上,我想要的是,当缩小时,红色标记出现在蓝色标记上方,因此红色标记始终可见并且永远不会被蓝色标记隐藏(即使当放大相当远)。
我一直在 SO 和其他论坛上进行一些研究,但尚未找到任何答案。非常感谢您的帮助!
Name lat lng group
A 45.42901 6.616382 blue
B 45.50991 6.690683 red
C 45.57084 6.820715 blue
D 45.32330 6.538921 red
E 45.39663 6.565520 blue
F 45.46781 6.904085 red
G 45.28815 6.903484 blue
H 45.29815 6.582392 red
I 45.44571 6.976880 blue
J 45.46178 6.442174 red
此外,这是我目前的代码:
icons = awesomeIcons(
icon = 'asterisk',
iconColor = "darkblue",
library = "fa",
markerColor = example$group
)
leaflet(example) %>% addTiles() %>% addAwesomeMarkers(icon = icons)
您可以使用 options = markerOptions(...)
向标记添加选项,并且 markerOptions()
具有 zIndexOffset
。
我们可以将其设置为较高的值以使这些标记高于其他标记。
我们可以得到一个整数转换为 factor 和 integer 一个字符串。或者您可以添加其他列,这取决于您。
marker_options <- markerOptions(
zIndexOffset = as.integer(as.factor(df$group)) * 100
)
一件重要的事情是使组之间的差异变高(我认为是因为索引随着每个标记而增加,这实际上是一个重新缩放因子或类似的东西。
最终地图应该是:
library(leaflet)
library(dplyr)
icons = awesomeIcons(
icon = 'asterisk',
iconColor = "darkblue",
library = "fa",
markerColor = df$group
)
marker_options <- markerOptions(
zIndexOffset = as.integer(df$group) * 100
)
df %>%
leaflet() %>%
addTiles() %>%
addAwesomeMarkers(
icon = icons,
options = marker_options
)
我正在尝试使用 awesomeMarkers 在 rShiny 的传单上绘制一些密集的位置。我尝试了多种方法,但我想要的是让某一组标记出现在其他标记之上。我在下面提供了一个小示例数据集,本质上,我想要的是,当缩小时,红色标记出现在蓝色标记上方,因此红色标记始终可见并且永远不会被蓝色标记隐藏(即使当放大相当远)。
我一直在 SO 和其他论坛上进行一些研究,但尚未找到任何答案。非常感谢您的帮助!
Name lat lng group
A 45.42901 6.616382 blue
B 45.50991 6.690683 red
C 45.57084 6.820715 blue
D 45.32330 6.538921 red
E 45.39663 6.565520 blue
F 45.46781 6.904085 red
G 45.28815 6.903484 blue
H 45.29815 6.582392 red
I 45.44571 6.976880 blue
J 45.46178 6.442174 red
此外,这是我目前的代码:
icons = awesomeIcons(
icon = 'asterisk',
iconColor = "darkblue",
library = "fa",
markerColor = example$group
)
leaflet(example) %>% addTiles() %>% addAwesomeMarkers(icon = icons)
您可以使用 options = markerOptions(...)
向标记添加选项,并且 markerOptions()
具有 zIndexOffset
。
我们可以将其设置为较高的值以使这些标记高于其他标记。 我们可以得到一个整数转换为 factor 和 integer 一个字符串。或者您可以添加其他列,这取决于您。
marker_options <- markerOptions(
zIndexOffset = as.integer(as.factor(df$group)) * 100
)
一件重要的事情是使组之间的差异变高(我认为是因为索引随着每个标记而增加,这实际上是一个重新缩放因子或类似的东西。
最终地图应该是:
library(leaflet)
library(dplyr)
icons = awesomeIcons(
icon = 'asterisk',
iconColor = "darkblue",
library = "fa",
markerColor = df$group
)
marker_options <- markerOptions(
zIndexOffset = as.integer(df$group) * 100
)
df %>%
leaflet() %>%
addTiles() %>%
addAwesomeMarkers(
icon = icons,
options = marker_options
)