在 R 中自定义传单地图图标

2023-11-30

我开始学习如何使用传单地图中的搜索功能 - 下面是传单地图,它允许您搜索城市(即单个搜索词):

library(leaflet)
library(leaflet.extras)
library(dplyr)

# using the same reproducible data from the question/example
cities <- na.omit(read.csv(
    textConnection("City,Lat,Long,Pop, term1, term2
                    Boston,42.3601,-71.0589,645966, AAA, BBB
                    Hartford,41.7627,-72.6743,125017, CCC, DDD
                    New York City,40.7127,-74.0059,8406000, EEE, FFF
                    Philadelphia,39.9500,-75.1667,1553000, GGG, HHH
                    Pittsburgh,40.4397,-79.9764,305841, III, JJJ
                    Providence,41.8236,-71.4222,177994, JJJ, LLL
                    ")))


# CODE 1


leaflet(cities) %>%
    addProviderTiles(providers$OpenStreetMap) %>%
    addMarkers( clusterOptions = markerClusterOptions()) %>%
                    addResetMapButton() %>%
                    # these markers will be "invisible" on the map:
                    addMarkers(
                        data = cities, lng = ~Long, lat = ~Lat, label = cities$City,
                        group = 'cities', # this is the group to use in addSearchFeatures()
                        # make custom icon that is so small you can't see it:
                        icon = makeIcon(
                            iconUrl = "https://leafletjs.com/examples/custom-icons/leaf-green.png",
                            iconWidth = 1, iconHeight = 1
                        )
                    ) %>%
                    addSearchFeatures(
                        targetGroups = 'cities', # group should match addMarkers() group
                        options = searchFeaturesOptions(
                            zoom=12, openPopup = TRUE, firstTipSubmit = TRUE,
                            autoCollapse = TRUE, hideMarkerOnCollapse = TRUE
                        )
                    )

在上一个问题中(在 R 中正确指定向量),我学会了如何制作允许多个搜索词的传单地图:

# CODE 2

leaflet(cities) %>%
  addProviderTiles(providers$OpenStreetMap) %>%
  addMarkers(clusterOptions = markerClusterOptions()) %>%
  addResetMapButton() %>%
  # these markers will be "invisible" on the map:
  addMarkers(
    data = cities, lng = ~Long, lat = ~Lat, label = cities$City,
    group = 'cities',# this is the group to use in addSearchFeatures()
    # make custom icon that is so small you can't see it:
    icon = makeIcon(
      iconUrl = "https://leafletjs.com/examples/custom-icons/leaf-green.png",
      iconWidth = 1, iconHeight = 1
    )) %>%
  addMarkers(data = cities, lng = ~Long, lat = ~Lat, 
             label = cities$term1, group = 'term1') %>% 
  addMarkers(data = cities, lng = ~Long, lat = ~Lat, 
             label = cities$term2, group = 'term2') %>% 
  addSearchFeatures(
    targetGroups = c('cities', 'term1', 'term2'), # group should match addMarkers() group
    options = searchFeaturesOptions(
      zoom=12, openPopup = TRUE, firstTipSubmit = TRUE,
      autoCollapse = TRUE, hideMarkerOnCollapse = TRUE
    )
  )

关于 CODE 2 我想改变的一件事是:

  • 在代码 1 中,当您放大和缩小时,“蓝色图钉”将“折叠”为“绿色圆圈”。

  • 在代码 2 中,蓝色引脚和绿色圆圈不会相互折叠。有办法改变这个吗?

谢谢你!


您必须确保所有标记都具有相同的图标才能聚集在一起。

leaflet(cities) %>%
  addProviderTiles(providers$OpenStreetMap) %>%
  addMarkers(clusterOptions = markerClusterOptions()) %>%
  addResetMapButton() %>%
  # these markers will be "invisible" on the map:
  addMarkers(
    data = cities, lng = ~Long, lat = ~Lat, label = cities$City,
    group = 'cities',# this is the group to use in addSearchFeatures()
    # make custom icon that is so small you can't see it:
    icon = makeIcon(
      iconUrl = "https://leafletjs.com/examples/custom-icons/leaf-green.png",
      iconWidth = 1, iconHeight = 1
    )) %>%
  addMarkers(data = cities, lng = ~Long, lat = ~Lat,
             label = ~term1, group = 'term1',
             icon = makeIcon(                              # <----- I'm new!
               iconUrl = "https://leafletjs.com/examples/custom-icons/leaf-green.png",
               iconWidth = 1, iconHeight = 1
             )) %>% 
  addMarkers(data = cities, lng = ~Long, lat = ~Lat, 
             label = ~term2, group = 'term2',
             icon = makeIcon(                              # <----- I'm new!
               iconUrl = "https://leafletjs.com/examples/custom-icons/leaf-green.png",
               iconWidth = 1, iconHeight = 1
             )) %>% 
  addSearchFeatures(
    targetGroups = c('cities', 'term1', 'term2'), # group match addMarkers() group
    options = searchFeaturesOptions(
      zoom=12, openPopup = TRUE, firstTipSubmit = TRUE,
      autoCollapse = TRUE, hideMarkerOnCollapse = TRUE
    )
  ) 

enter image description here

我看了很长一段时间,现在回想起来……为什么?现在看来很简单,我know答案。叹。你和我都是,对吗?如果您有疑问,请告诉我。

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

在 R 中自定义传单地图图标 的相关文章

  • 使用底格里斯河从纬度/经度获取人口普查区

    我有相对较多的坐标 我想获取其人口普查区 除了 FIPS 代码 我知道我可以使用以下命令查找各个纬度 经度对call geolocator latlon 已完成here https stackoverflow com questions 5
  • 在 swift 3 的 textview 中显示属性文本?

    我想以斜体 粗体显示从服务器收到的文本 你好世界所以 responseObj text p b i hello i b i world gt i p if let postText String responseObj text as St
  • 等待网页完全加载,然后再使用 python 请求进行抓取

    我目前正在尝试从 LinkedIn 上的特定页面抓取数据 我有一个能够登录 LinkedIn 的脚本 但当我尝试访问包含数据的页面时遇到了障碍 当我打电话时requests get data url 我最终得到了 LinkedIn 加载屏幕
  • 从 HTML div 中删除所有文本内容,但保留 HTML 标签和结构

    I have div Here a href is a p Text that I want to p be removed div I want div a href a p p div 删除所有文本但保留 HTML 结构的最简单方法是什
  • JavaScript 跨浏览器单击 HTML DOM 元素

    是否有可用的普通 JavaScript 跨浏览器函数能够触发 HTML DOM 元素 包括 div 等非表单元素 上的单击事件 大多数走这条路的人要么最终开发自己的事件管理系统 这并不难 但很烦人 要么在可用的功能范围内工作 如果所有浏览器
  • 使用 获取用于 javascript 的 RSA 密钥?

    我的 Web 项目需要一个 RSA 密钥对 虽然有一些库 但我认为依靠浏览器 为了安全性和速度 为我生成密钥是个好主意 是否可以使用注册机或其他浏览器 API 来执行此操作 我不知道如何从注册机获取密钥 它们似乎是在提交时生成的 但我不想将
  • 显示带有背景颜色的百分比条

    例如 如果我有一个包含两列和 2 行的表 Col1 Percentage 50 50 70 70 如何用代表 COl1 值的颜色填充百分比列 像这样的东西 您可以使用具有两个紧接着的停止点的线性渐变 percentageFill heigh
  • 在 IE10 中禁用捏合放大

    在 IE10 触摸模式下 我希望仅使页面的特定部分可缩放 其余的不应该 我找到了这个 http msdn microsoft com en US library ie hh772044 aspx http msdn microsoft co
  • canvas.getContext('2D') 返回空值

    我创建了一个画布并将其命名为getContext 方法 但它返回null为上下文 这是我使用的代码 我在控制台中得到了这个
  • 如何在 div 容器内的元素之间留出空间

    我有一个弹性容器 它将由元素动态填充 容器没有固定宽度 I use max width max content 并且可以包含我想要的任意数量的元素 问题是我需要这些元素之间的间距 但不需要元素和容器之间左侧和右侧的间距 当然我可以用 ele
  • 如何检查元素的内容是否为空,如果是,则在 jquery 中删除该元素

    我目前正在尝试选择某个 div 内没有内容的任何 h2 元素并将其删除 这是我的 html 代码 div class skipToContainer h2 class vidSkipTo Hello h2 h2 class vidSkipT
  • 使用溢出时无法隐藏滚动条:auto

    我有这个CSS div background color red position relative height 414px overflow auto width 902px margin 0px auto 我尝试过overflow y
  • 当每个记录都是一个段落并且某些记录有 4 个字段而其他记录有 6 个字段时,如何将文本文件读入 R

    如何读取文本文件 其中每条记录都是一个段落 每个换行符表示单独的字段 复杂的是 有些记录有 4 行 有些记录有 6 行 当字段数量的差异为 1 时 DWin 解决了我的问题 但当字段数量差异为 2 时 一切都崩溃了 你可以有一个在这里看看他
  • 显示班级图片 10 秒

    我有下面给出的代码显示9 boxes 其值如下digital time 还有一个班级box002显示digits相当于随机选择的九个盒子的值 box002 can be dragged to digital time starting wi
  • 将 VLMC 拟合到很长的序列

    我正在尝试将 VLMC 拟合到最长序列为 296 个状态的数据集 我这样做如下所示 Load libraries library PST library RCurl library TraMineR Load and transform d
  • iOS Safari Mobile 禁用上一个和下一个选择输入

    上周五我发现了关于此问题的类似问题 但似乎无法再次找到它 如果有人能指出我正确的方向 那就太好了 本质上我在一个页面上有多个选择菜单 第一个在加载时填充 第二个在第一个选择时填充 够简单的 但是 在 iOS 设备中 当您点击选择元素时 它会
  • 将 sf voronoi 多边形裁剪到边界框时出错

    我正在尝试将 voronoi polygons 使用 sf package 创建 剪辑 到边界框 但它引发了我无法定义的错误 我对 R 的空间世界不太有经验 感谢所有帮助 样本数据 stations lt structure list ST
  • 响应式导航栏隐藏其下方的元素

    我创建了一个响应式导航栏 但它使下面的元素 Flexslider 插件 消失 在我制作导航栏之前 下面的 Flexslider 可以正常显示 但现在不行 导航栏的 z index 为 2 所以我不知道问题是什么 我应该如何 更改什么才能允许
  • 根据另一列中的键累积一列中的值时出现问题

    我有一个看起来像这样的数据框 我需要使用 PROJ ID 列中的字符串创建一个新的值列 并形成 PROJ NAME 列中的值字符串 这里提供的解决方案 根据 r 中另一列的键累积一列中的值 https stackoverflow com q
  • CSS:缩放字体大小以适应父块元素的高度

    我发现的几乎每个问题和答案都谈到了视口大小 这确实不是我的问题 拿着这支笔 https codepen io njt1982 pen pZjZNM https codepen io njt1982 pen pZjZNM 我有一个非常基本的

随机推荐

  • 如何使用 JavaScript 或 HTML 将文件输入设置为空?

    在我正在开发的网站上 我有一个文件输入 用户可以从中上传文件 它使用 Ajax 不是真正的 将文件发送到绑定到 iframe 的 php 文件 我的问题是 Firefox 自动填充文件输入元素 有没有办法让用户可以选择单击提交按钮而不发送文
  • 复制绘图区域在 Powerpoint VBA 中无法正常工作

    我拼凑了以下代码 将图表的格式从一个图表复制到另一个图表 代码仍然很混乱 因为我试图想出引用图表的最佳方法 欢迎任何想法 我无法准确复制主要是绘图区域和辅助访问的格式和位置 一个页面上必须有两个图表 首先选择源 然后选择目标 目前来看 它们
  • 自动滚动 Cypress 行为导致下拉菜单在 Cypress 测试中关闭。有解决方法吗?

    Cypress 的自动滚动行为正在关闭我试图在其中选择元素的下拉列表 这会导致测试失败 因为找不到第一个下拉项 我添加的解决方法是添加第二个 click 键入输入后重新打开下拉菜单 cy get selector click force t
  • SymPy:如何根据其他表达式返回一个表达式?

    我还很陌生SymPy并提出一个可能是基本问题的问题 或者我可能只是误解了 SymPy 的使用方式 有没有办法创建一个不由原子表示而是由其他表达式组合表示的表达式 Example gt gt gt from sympy physics uni
  • 当放入结构中时,值的寿命不够长

    我正在尝试使用 Rust 中的 LLVM这个板条箱 我正在尝试创建一个代码生成器结构来为我保存上下文 模块和构建器 但是当我尝试编译时 我收到一条错误消息 c does not live long enough 我怎样才能编译它 为什么 c
  • 铸造容器 C++ [重复]

    这个问题在这里已经有答案了 可能的重复 是否可以将 Base 类型的 STL 容器转换为 Derived 类型 这应该是一个简单的问题 如果我有一个基类的容器 例如 STL 列表 是否可以将整个容器转换为子类类型 例如 A inherits
  • @Query 注释使用 like %?1%

    我想写一个这样的查询 Query select p from Product p where p name 1 or p desc like 1 但这给了我例外 org hibernate hql ast QuerySyntaxExcept
  • 这个方法如何运作?

    我经常遇到这种注册动作侦听器的方式 虽然我最近一直在使用这种方法 但我不明白这是如何以及为什么的 这是一个 submit new JButton submit submit addActionListener new ActionListe
  • 绑定到 ICollectionView 时模拟数据不显示

    如果我绑定我的ListBox到视图模型ObservableCollection或 XAML 资源CollectionViewSource 模拟数据在设计时显示 有时CollectionViewSource由于某些 XAML 更改而停止显示此
  • Eclipse 在没有互联网连接的 PC 上间歇性挂起

    我从 Eclipse 3 2 开始就遇到过这个问题 但在较新的版本中 这个问题出现得更频繁 每当我访问某些配置菜单项或 Eclipse 解析包含指向某个 Internet URL 的 xmlns 变量的 XML 文件时 Eclipse ID
  • 从 DataTable 批量插入到 SQLCE DataSource

    这是一个使用 SQL CE 作为数据源的 C WPF 应用程序 我有一个 DataTable 显示为 DataGrid 和一个 SQL CE DataSource 我使用 DataAdapter DataSet 和 DataTable 从
  • 如何将 XML 文件读取到包含 null 元素的空字符串的 Dictionary>

    我有一个 xml 文件 例如
  • 雅虎财经 python 上的某些股票和页面出现 404 错误

    我正在尝试通过此 URL 从雅虎财经抓取数据https finance yahoo com quote AAPL key statistics p AAPL 运行下面的 python 代码后 我得到以下 HTML 响应 import num
  • 反转非唯一字典

    我有一本字典 需要根据非唯一值进行反转和分组 该字典根据现有的最佳答案而失败 gt gt gt graph a car red b car blue gt gt gt inv map gt gt gt for k v in graph it
  • 在处理中获取多个音频输入

    我目前正在编写一个需要访问多个音频输入的处理草图 但处理只允许访问默认线路 我尝试直接从 Java 混合器获取线路 在处理中访问 但我仍然只获得信号从我的机器上当前设置为默认值的那一行开始 我已经开始考虑按照建议通过 OSC 从 Super
  • 通过 AJAX 进行表单处理 - 避免生成 GET 和 POST 请求

    我正在尝试通过 AJAX 发送表单数据 但我看到 GET 和 POST 请求都正在生成 这是我的表单的提交处理程序
  • std::ostream 到 QDataStream

    我已经为 MyClass 重载了 friend std ostream operator lt lt std ostream out const MyClass Obj 现在我想将 std ostream 转换为 QDataStream 而
  • 为什么ld输出的二进制文件无法执行?

    我使用的是 Ubuntu 18 04 x86 64 这是我的程序的两个源文件 main c include stdio h int sum int a int n int array 2 1 2 int main int val sum a
  • PyTables 的优点是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我最近开始学习PyTabl
  • 在 R 中自定义传单地图图标

    我开始学习如何使用传单地图中的搜索功能 下面是传单地图 它允许您搜索城市 即单个搜索词 library leaflet library leaflet extras library dplyr using the same reproduc