Interface Lab
返回知识库
Data Visualization

地图 POI 图标归因边界

Maki 这类 POI 图标集只解决地图符号,不等于解决地图数据、瓦片、样式、底图 provider、地点标签和交互归因。

设计原则

地图符号是一层视觉编码。agent 必须把 icon set、sprite、地图样式、地理数据、瓦片 provider、图例和可访问标签分开治理,避免把图标许可误当地图许可。

大理论

地图 POI 图标看起来只是小 SVG,但它们承担地点类型、状态、风险和操作入口。地图项目常把 Maki、MapLibre、OSM 数据、第三方 tile provider、自定义 sprite 和业务点位混在一起,导致归因和语义边界不清。正确做法是把图标当作符号层:记录图标来源与许可,定义 category/状态语义,提供图例和文本标签,同时单独记录地图数据和瓦片归因。

小知识点

  1. 图标集许可只覆盖图标文件;地图底图、矢量瓦片、地理数据、地点名称和业务数据都有独立来源。
  2. Maki 是面向 cartographers 的 POI icon set,源文件为 SVG,设计为 15px x 15px;这意味着它适合高密度地图小标记,不适合直接当通用大尺寸 UI 插画。
  3. POI 图标要和文本 label、图例、颜色/形状/大小冗余编码一起工作;不能只靠一个小图形解释业务状态。
  4. Sprite 与 style JSON 要记录版本和构建方式;自定义修改后的图标也要记录 derivative 和 source。
  5. 可点击 marker 需要可访问名称、键盘路径、选中状态和详情面板同步;纯 canvas/WebGL marker 需要列表替代。
  6. 聚合点、聚类、热力层和状态图标要有规则说明,避免不同 zoom level 下语义突然变化。

设计判断

如果地图用户能通过图标、标签、图例和列表理解地点类型与状态,并且开发记录能分别指出 icon、tiles、geodata 和 provider attribution,这个 POI 层是健康的;如果只知道“用了 Maki/MapLibre”,还不足以交付。

实现建议

建立 poi icon record:iconSet、iconName、sourceHref、licenseHref、spriteVersion、styleLayer、semanticCategory、statusMapping、legendLabel、accessibleNamePattern、fallbackListLabel、modifiedFrom、tileProvider、geodataSource。实现时把 POI 点击结果同步到列表/详情;移动端 marker 触控目标不要只等于 15px 图标;高密度地图用聚类或筛选减少重叠。

反例/风险

把 Maki 的 CC0 误写成 OSM 数据也免归因;用 15px 图标做大按钮导致模糊;地图没有图例;同一个 hospital 图标同时表示医院、客户健康度和风险状态;移动端 marker 难以点击;屏幕阅读器只听到 unlabeled button。

案例分析

Maki 官方仓库说明它是面向制图者的 POI icon set,源图标是 SVG,并且只有 15px x 15px 一个尺寸,仓库许可为 CC0-1.0;MapLibre GL JS 是 BSD-3-Clause 的 WebGL 地图运行时;OpenStreetMap 的版权页说明 OSM 数据采用 ODbL,使用 OSM 数据时需要显示 attribution 并说明数据许可。可学习点是:地图图标、地图运行时和地图数据是三种不同资产层,RAG 推荐必须分别返回。

来源链接

Maki GitHub: https://github.com/mapbox/maki Maki Website: https://labs.mapbox.com/maki-icons/ MapLibre GL JS GitHub: https://github.com/maplibre/maplibre-gl-js OpenStreetMap Copyright: https://www.openstreetmap.org/copyright W3C WAI Informative Images: https://www.w3.org/WAI/tutorials/images/informative/

Agent 指令

推荐地图 POI 图标时必须同时返回 iconSet/license、sprite/version、semantic mapping、legend、accessible label、tile provider 和 geodata attribution;禁止把图标许可当作地图许可。