Skip to content
shadcn maps logo

shadcn maps

专为 React 与 shadcn/ui 生态打造的交互式矢量 SVG 地图组件库,涵盖 170+ 国家地区地图与一行命令安装。

shadcn maps 官方界面预览

项目概述

shadcn maps 是专为 React 和 shadcn/ui 生态打造的交互式矢量 SVG 地图组件库。涵盖了全球 170+ 个国家、大洲及省州行政区划地图,开箱即用支持悬停气泡 (Tooltip)、缩放平移、区域多选与数据分级着色 (Choropleth),无需任何复杂的 GIS 引擎配置。

核心特性

  • 🗺️ 170+ 交互式矢量 SVG 地图:内置世界全图、大洲总览、各个国家及省州级高精细度矢量轮廓。
  • 📦 完美融入 shadcn CLI 工作流:通过标准 shadcn 命令行一行直接安装至本地 /components/ui/ 目录中。
  • ⚡ 超轻量与零外部 API 依赖:纯 SVG 矢量渲染,无需 Mapbox、Google Maps 商业 Token 密钥或瓦片图服务器。
  • 🎨 Tailwind CSS 深度样式集成:支持通过 Tailwind 类名自由控制地图高亮色、边框宽度、暗黑模式切换与阴影。

快速上手与示例代码

# 通过 shadcn CLI 一键安装地图组件
npx shadcn@latest add https://www.shadcnmaps.com/r/world-map
import React from 'react';
import { WorldMap } from '@/components/ui/world-map';

export function AnalyticsMap() {
  return (
    <div className="w-full max-w-4xl p-6 rounded-2xl border border-neutral-200 dark:border-neutral-800 bg-white dark:bg-neutral-950">
      <h3 className="text-lg font-semibold mb-4">全球用户活跃分布</h3>
      <WorldMap
        highlightedRegions={['US', 'CN', 'DE', 'JP', 'GB', 'SG']}
        onRegionClick={(code) => console.log('选中区域:', code)}
      />
    </div>
  );
}

技术选型建议与适用场景

  • 数据分析与 SaaS 中后台仪表盘:低成本实现全球服务器节点分布、销售地域热力图与合规区域选择器。
  • 轻量级可视化需求:无需引入重型 WebGIS 地图库,以极小的代码体积获得极致流畅的矢量渲染体验。

讨论与评价

0 条讨论
分享你对该组件库的上手体验、优缺点或建议...

暂无讨论。欢迎分享你对该组件库的上手体验、优缺点或建议!

相关组件推荐

基于同类与技术栈推荐