
Mapcn
基于 MapLibre GL 构建的免费开源 React 地图组件库,Tailwind CSS 原生样式,通过 shadcn/ui CLI 一条命令安装,让漂亮的地图变得简单。

项目概述
Mapcn 是一套为 React 精心设计的开源地图组件库,底层基于 MapLibre GL 矢量渲染引擎,样式层全面采用 Tailwind CSS。它的核心理念是把地图当作普通 UI 原语来对待:复制源码进项目、完全掌控样式、让地图与你的设计系统天然融合,而不是被 SDK 默认的灰色瓦片绑架。
核心特性
- 🏗️ Copy-Paste 源码分发:以 shadcn/ui registry 形式发布,一条 CLI 命令即可把组件源码直接落入你的仓库,没有包锁定,样式层完全自主可控。
- 🎨 开箱即用的高颜值:提供精选的地图区块(仪表盘挂件、统计浮层、城市预设),告别 MapLibre 默认样式的粗糙感,首屏即有产品级观感。
- ♿ 默认无障碍:延续 shadcn/ui 的设计哲学,键盘可操作的控件与语义化标记开箱自带。
- 🧩 可组合区块:除核心
<Map>原语外,还提供将卡片、图表与地图图层组合成仪表盘级区块的现成 Blocks。
快速上手与示例代码
pnpm dlx shadcn@latest add @mapcn/mapimport { Map, MapControls } from "@/components/ui/map";
import { Card } from "@/components/ui/card";
export function MyMap() {
return (
<Card className="h-[320px] p-0 overflow-hidden">
<Map center={[-74.006, 40.7128]} zoom={11}>
<MapControls />
</Map>
</Card>
);
}技术选型建议与适用场景
- 源码所有权优先:与 Google Maps、Mapbox SDK 封装库不同,组件代码就在你的仓库里,用 Tailwind token 随心重塑每一个细节。
- 无痛使用 MapLibre:跳过底图配置、控件调整、暗色适配等繁琐工作,Mapcn 给出了全部合理默认值。
- 不适用场景:重度 GIS 空间分析或自定义栅格管线需求,建议直接使用 MapLibre GL JS 原生 API 获得完全控制权。
讨论与评价
分享你对该组件库的上手体验、优缺点或建议...
暂无讨论。欢迎分享你对该组件库的上手体验、优缺点或建议!
相关组件推荐
基于同类与技术栈推荐23rd
192
由 radiumcoders 打造的开源 shadcn/ui 组件注册表,提供 WebGL 着色器、趣味 404 与交互式展示组件,Copy-Paste 装进仓库即装即改。
动效动画源码拷贝React+2
动效动画详情
Duolingo UI (ShadLingo)
126k+
基于 shadcn/ui v4 与 Tailwind CSS 深度定制的 Duolingo 风格设计系统与组件库,完整复刻多邻国标志性的 3D 按钮弹簧投影、高饱和猫头鹰绿与游戏化卡片交互。
源码拷贝设计令牌Gamification+3
源码拷贝详情
Rewamp UI
192
专为现代 Web 开发者打造的高互动性 React 动效组件库,深度整合 Tailwind CSS 4、Framer Motion 与 Three.js WebGL 特效,提供无捆绑的 Copy-Paste 源码直达体验与专有 CLI 工具。
源码拷贝MotionReact+3
源码拷贝详情