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

如何点击Leaflet标记时使用Fancybox 5展示图片?

实现用Fancybox 5打开GeoJSON标记关联的图片

当然可以实现,按以下步骤修改你的代码即可:

1. 确保已引入Fancybox 5资源

先把Fancybox 5的CSS和JS文件引入到你的页面中(可从官方渠道下载后本地引用):

<link rel="stylesheet" href="你的本地路径/fancybox.css" />
<script src="你的本地路径/fancybox.umd.js"></script>

2. 修改GeoJSON的事件处理代码

把你现有代码里的do_something()替换成Fancybox的调用逻辑,同时先判断feature.image是否存在,避免报错:

var marker = L.geoJSON(geojsonFeatureCamera, {
  pointToLayer: function (feature, latlng) {
    return L.circleMarker(latlng, geojsonMarkerOptionsCamera);
  },
  onEachFeature: function(feature, layer) {
    layer.on('mouseover', function(e) {
      // 检查当前feature是否包含有效的image字段
      if (feature?.image) {
        // 调用Fancybox 5打开目标图片
        Fancybox.open([
          {
            src: feature.image,
            type: 'image',
            // 可选:添加图片标题,可从feature属性中取值
            caption: feature.properties?.title || '查看图片'
          }
        ]);
      }
    });
  }
});

关于Fancybox 5搜索不到的问题

你搜不到是因为关键词不够精准,直接搜「Fancybox 5 documentation」就能找到官方完整文档,里面有各类配置参数和用法示例。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:33:13