mcpField
M
mapbox-style-patterns

mapbox-style-patterns

github.com/mapbox设计与 UI832.4k 次安装4 周前更新
代码仓库

关于 mapbox-style-patterns

为 Mapbox 地图样式与图层配置提供常见场景的模式指导,面向地图应用开发者。内容涵盖兴趣点、导航、数据可视化和物流等用途,并提供按场景选择模式的参考。

主要功能

  1. 01提供常见地图场景样式模式
  2. 02按内容、环境与操作选择模式
  3. 03涵盖明暗主题与移动端设计
  4. 04提供图层优化及聚类参考
  5. 05附带视觉回归检查清单

适用场景

  1. 01设计餐饮或兴趣点地图
  2. 02构建导航或配送追踪地图
  3. 03为统计数据设计底图
  4. 04优化现有地图样式

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/mapbox/mapbox-agent-skills --skill mapbox-style-patterns

安装后在 Claude Code 中输入/mapbox-style-patterns确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
evals/
evals.json
references/
common-modifications.md
dark-mode.md
data-viz-base.md
delivery-logistics.md
expressions-clustering.md
interactions.md
navigation.md
real-estate.md

详细介绍

Mapbox 样式模式技能

此技能提供经过实践验证的样式模式和图层配置,适用于常见的地图场景。

模式库

模式 1:餐厅/兴趣点查找器

使用场景: 展示餐厅、咖啡馆、酒吧或其他兴趣点的消费类应用

视觉要求:

  • 兴趣点必须一目了然
  • 提供用于导航的街道环境信息
  • 中性背景(便于叠加照片/内容)
  • 针对移动设备优化

推荐图层:

{
  "layers": [
    {
      "id": "background",
      "type": "background",
      "paint": {
        "background-color": "#f5f5f5"
      }
    },
    {
      "id": "water",
      "type": "fill",
      "source": "mapbox-streets",
      "source-layer": "water",
      "paint": {
        "fill-color": "#d4e4f7",
        "fill-opacity": 0.6
      }
    },
    {
      "id": "landuse-parks",
      "type": "fill",
      "source": "mapbox-streets",
      "source-layer": "landuse",
      "filter": ["==", "class", "park"],
      "paint": {
        "fill-color": "#e8f5e8",
        "fill-opacity": 0.5
      }
    },
    {
      "id": "roads-minor",
      "type": "line",
      "source": "mapbox-streets",
      "source-layer": "road",
      "filter": ["in", "class", "street", "street_limited"],
      "paint": {
        "line-color": "#e0e0e0",
        "line-width": {
          "base": 1.5,
          "stops": [
            [12, 0.5],
            [15, 2],
            [18, 6]
          ]
        }
      }
    },
    {
      "id": "roads-major",
      "type": "line",
      "source": "mapbox-streets",
      "source-layer": "road",
      "filter": ["in", "class", "primary", "secondary", "tertiary"],
      "paint": {
        "line-color": "#ffffff",
        "line-width": {
          "base": 1.5,
          "stops": [
            [10, 1],
            [15, 4],
            [18, 12]
          ]
        }
      }
    },
    {
      "id": "restaurant-markers",
      "type": "symbol",
      "source": "restaurants",
      "layout": {
        "icon-image": "restaurant-15",
        "icon-size": 1.5,
        "icon-allow-overlap": false,
        "text-field": ["get", "name"],
        "text-offset": [0, 1.5],
        "text-size": 12,
        "text-allow-overlap": false
      },
      "paint": {
        "icon-color": "#FF6B35",
        "text-color": "#333333",
        "text-halo-color": "#ffffff",
        "text-halo-width": 2
      }
    }
  ]
}

主要特性:

  • 降低饱和度的底图(不会与照片争抢视觉焦点)
  • 高对比度标记(#FF6B35 橙色醒目突出)
  • 清晰的道路网络(浅灰底色上的白色道路)
  • 公园清晰可见,但不喧宾夺主
  • 文字光晕提升可读性

模式选择指南

决策树

问题 1:主要内容是什么?

  • 用户生成的标记/图钉 -> 兴趣点查找器模式
  • 房产数据/边界 -> 房地产模式
  • 统计/分析数据 -> 数据可视化模式
  • 路线/方向 -> 导航模式
  • 实时追踪/配送区域 -> 配送/物流模式(客户标记应通过第二个圆形图层 + requestAnimationFrame + setPaintProperty 添加脉冲动画;参见 references/delivery-logistics.md)

问题 2:查看环境是什么?

  • 白天/办公室 -> 浅色主题
  • 夜间/暗光环境 -> 深色模式
  • 环境多变 -> 提供主题切换

问题 3:用户的主要操作是什么?

  • 浏览/探索 -> 重点显示兴趣点,提供丰富细节
  • 导航 -> 重点显示道路和路线
  • 追踪配送/物流 -> 实时更新、区域和状态
  • 分析数据 -> 尽量简化底图,突出数据
  • 选择位置 -> 清晰显示边界和环境信息

问题 4:使用平台是什么?

  • 移动设备 -> 简化内容、增大触控目标、减少细节
  • 桌面设备 -> 可以包含更多细节和复杂内容
  • 两者兼顾 -> 采用移动优先设计,并针对桌面设备增强

图层优化模式

性能模式:按缩放级别简化
{
  "id": "roads",
  "type": "line",
  "source": "mapbox-streets",
  "source-layer": "road",
  "filter": [
    "step",
    ["zoom"],
    ["in", "class", "motorway", "trunk"],
    8,
    ["in", "class", "motorway", "trunk", "primary"],
    12,
    ["in", "class", "motorway", "trunk", "primary", "secondary"],
    14,
    true
  ],
  "paint": {
    "line-width": {
      "base": 1.5,
      "stops": [
        [4, 0.5],
        [10, 1],
        [15, 4],
        [18, 12]
      ]
    }
  }
}

参考文件

其他模式和配置位于 references/ 目录中。需要特定模式时,请加载相关文件。

文件内容
references/real-estate.md模式 2:房地产地图——物业边界、价格颜色编码、配套设施标记
references/data-viz-base.md模式 3:数据可视化底图——用于分级统计图/热力图叠加的极简灰度底图
references/navigation.md模式 4:导航/路线规划地图——路线显示、用户位置、转向箭头
references/dark-mode.md模式 5:深色模式/夜间主题——近黑色背景、降低亮度
references/delivery-logistics.md模式 6:配送/物流地图——实时追踪、区域、司机标记、预计到达时间徽标
references/expressions-clustering.md数据驱动表达式模式 + 密集兴趣点的聚类
references/common-modifications.md3D 建筑、地形/山体阴影、自定义标记
references/interactions.mdaddInteraction、setFeatureState 和 appearances 的区别——它们如何配合,以及各自的适用时机

加载说明: 阅读与用户用例相符的参考文件。例如,实现配送追踪地图时,请加载 references/delivery-logistics.md。

测试模式

视觉回归检查清单
  • 在以下缩放级别进行测试:4、8、12、16、20
  • 在移动设备上验证(宽度 375px)
  • 在桌面设备上验证(宽度 1920px)
  • 使用密集数据进行测试
  • 使用稀疏数据进行测试
  • 检查标签碰撞
  • 验证颜色对比度(WCAG)
  • 测试加载性能

何时使用此技能

在以下情况下调用此技能:

  • 为特定用例创建新的地图样式
  • 查找图层配置示例
  • 实现常见的地图模式
  • 优化现有样式
  • 需要适用于典型场景的成熟方案
  • 调试样式问题
  • 学习 Mapbox 样式最佳实践

评论

支持 Markdown