You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言Leaflet标准图标示例异常:红绿叶子图标显示为带问号蓝方块

解决Leaflet R包图标显示为蓝色问号方块的问题

我明白你遇到的困扰了——运行这段Leaflet代码时,本该显示的红绿叶子图标没出来,反倒变成了带问号的蓝色方块,好在背景地图显示正常。这其实是Leaflet无法加载指定图标资源时的默认占位符,核心原因是你代码里用的leafletjs.com图标链接大概率已经失效了,毕竟官网的文档结构可能更新过。

下面是具体的排查和修复步骤:

1. 先确认图标URL的有效性

你当前代码里引用的两个图标地址:

  • http://leafletjs.com/docs/images/leaf-green.png
  • http://leafletjs.com/docs/images/leaf-red.png

现在访问这些地址会发现打不开,这就是图标加载失败的直接原因。

2. 替换为有效图标资源

这里给你两种靠谱的修复方案:

方案一:用Leaflet官方示例的稳定CDN链接

Leaflet官网的示例页面现在使用的图标地址是有效的,直接替换代码里的URL就行:

library(leaflet)
# 示例数据
data(quakes)
quakes <- quakes[1:10,]
# 选择图标:
leafIcons <- icons(
  iconUrl = ifelse(quakes$mag < 4.6, 
                   "https://leafletjs.com/examples/custom-icons/leaf-green.png", 
                   "https://leafletjs.com/examples/custom-icons/leaf-red.png"),
  iconWidth = 38, iconHeight = 95,
  iconAnchorX = 22, iconAnchorY = 94)
html_legend <- "<img src='https://leafletjs.com/examples/custom-icons/leaf-green.png'>green<br/> <img src='https://leafletjs.com/examples/custom-icons/leaf-red.png'>red"
# 生成地图:
leaflet(data = quakes) %>% addTiles() %>% 
  addMarkers(~long, ~lat, icon = leafIcons) %>% 
  addControl(html = html_legend, position = "bottomleft")

方案二:使用本地图标文件(最稳妥)

如果担心外部链接哪天又失效,你可以把图标下载到本地工作目录,然后引用本地路径:

  1. 下载绿色叶子图标和红色叶子图标,保存到你的R项目工作目录里
  2. 修改代码里的iconUrl为本地文件名:
library(leaflet)
# 示例数据
data(quakes)
quakes <- quakes[1:10,]
# 选择图标:
leafIcons <- icons(
  iconUrl = ifelse(quakes$mag < 4.6, 
                   "leaf-green.png", 
                   "leaf-red.png"),
  iconWidth = 38, iconHeight = 95,
  iconAnchorX = 22, iconAnchorY = 94)
html_legend <- "<img src='leaf-green.png'>green<br/> <img src='leaf-red.png'>red"
# 生成地图:
leaflet(data = quakes) %>% addTiles() %>% 
  addMarkers(~long, ~lat, icon = leafIcons) %>% 
  addControl(html = html_legend, position = "bottomleft")

为什么背景地图正常?

你用的addTiles()默认加载的是OpenStreetMap的瓦片服务,这个服务一直很稳定,而且支持跨域访问,所以背景地图能正常显示,和图标加载失败是两回事。

内容的提问来源于stack exchange,提问作者pumphandle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 08:35:49