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

ClojureScript中Leaflet React Markercluster相关包无法使用问题排查

在ClojureScript中使用Leaflet聚类插件的问题咨询

我需要在Leaflet中实现标记聚类功能,由于项目使用ClojureScript,尝试了npm上所有Leaflet React聚类相关包,但均遇到问题:

  • 部分包编译时出现Babel报错或意外EOF;
  • 部分包通过shadow-cljs编译后,浏览器控制台抛出Uncaught Error: Assert failed: Invalid Hiccup form: [nil]错误(以@greenatom/react-leaflet-markercluster为例),该错误出自代码(def MarkerClusterGroup (r/adapt-react-class react-leaflet-cluster/MarkerClusterGroup))。

相关代码与依赖

ClojureScript依赖引入

(:require
   [reagent.core :as r]
   [re-frame.core :as re-frame]
   [leaflet :as leaflet]
   [react-leaflet :as react-leaflet]
   ["@greenatom/react-leaflet-markercluster" :as react-leaflet-cluster]
   [react-leaflet-heatmap-layer-v3 :as react-leaflet-heatmap])

package.json依赖配置

"dependencies": {
        "@greenatom/react-leaflet-markercluster": "^3.0.0-rc4",
        "highlight.js": "11.1.0",
        "leaflet": "^1.7.1",
        "react": "^17.0.2",
        "react-dom": "^17.0.2",
        "react-leaflet": "^3.2.2",
        "react-leaflet-heatmap-layer-v3": "^3.0.3-beta-1"
    },

功能使用代码

[(if (= display-option :cluster) MarkerClusterGroup LayerGroup)
    [Marker]
    ; 这里有多个标记,当display-option不为cluster时显示正常
]

请问我遗漏了什么配置或步骤?是否这类React-Leaflet聚类包在ClojureScript环境下都存在兼容问题?有没有其他在ClojureScript中实现Leaflet标记聚类的可行方法?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 11:37:53