平常刷 vlog、看纪录片,经常会看到一种地图动效:镜头从地球一路俯冲下来,锁定到某个城市,然后一条线从 A 画到 B,旁边的公里数跟着跳动。每次看到都觉得很高级。最近 Opus 做动效也很火,我就想,能不能做一个动效,把我旅行路上走过的地点都标出来。花了一下午时间,做出了一个完整的 map-motion 动效 skill,先看效果,再讲思路。
徒步路线记录

散射状路线

旅行自驾路线

不止这些,这个 skill 有 11 种镜头、12 种风格。我先拿这次国庆去云南的自驾做了一版:深圳出发,经过南宁、昆明、大理、丽江,开到香格里拉,再原路回来。路线用的是高德地图的 MCP,数据是真实的,小车沿着路开,里程表一路滚到 4,213 公里,到一个城市就盖一个邮戳。
做完这个,刚好看到花叔发布了他的动效 Skill(huashu-art-motion)。我把他的一些做法结合进来,做了一个更完善的版本,叫 map-motion。它主要靠两样东西:
- 高德地图 API:地名转坐标、真实的驾车/步行/骑行路线、行政区边界,还有标准地图和卫星图当底图。
- Opus 模型:写代码、把这些数据一帧一帧画成动画。
做出来的效果一共 11 种镜头、12 种风格。镜头可以像搭积木一样串起来,风格改一个字段就换。
一、能做哪些效果
按做出来的视频分,常用的是这 5 类:
- Vlog 片头「我在这里」:从地球俯冲下来,瞄准镜锁定,弹出坐标卡。
- 徒步登山:沿真实步行路线上山,底下实时画出海拔曲线。
- 长途骑行、自驾:多站旅程,按天分段,里程累加,到站盖章、弹照片。
- 介绍一个地方:公园、景区、校园,描出轮廓,再从地铁站走过去。
- 航线、行政区、业务分布:城市间飞线、省市高亮、一个点辐射到全国。
12 种风格里,5 种直接用高德的底图(标准、暗色、灰色、复古、卫星),能推到街道级;另外 7 种是代码画的(暗色科技、极简白、水彩手账、复古纸、赛博霓虹、国风水墨、工程蓝图),适合全国到城市这个尺度。

还有 14 种镜头,俯冲、标记、辐射、航线、区域描边等等。

二、更多效果展示
1. Vlog 片头:大理双廊
卫星地球转过来,俯冲到洱海边,四个角的瞄准框收缩锁定。坐标卡上地名一个字一个字打出来,经纬度从 0 滚到真实坐标。

同样的效果换成暗色风,做了一版上海外滩夜景:

2. 徒步梧桐山
从山涧沿高德步行路线上大梧桐,镜头跟着人走。底部的海拔曲线同步画出来,读数从 98 米一路爬到 916 米,累计爬升 835 米,山顶插一面旗。

3. 青海湖环湖骑行
卫星底图拍高原湖泊特别出片。四天分四段,每段都有海拔(一直在 3200 米上下),最后停在 365 公里,和骑行圈公认的环湖距离对得上。

三、它是怎么做出来的
我写的时候只做一件事:先写一张「镜头表」,告诉程序先拍什么、再拍什么。比如:
{
"type": "locate",
"to": "双廊古镇",
"name": "大理 · 双廊",
"zoom": 14
}
{
"type": "coordinate_card",
"name": "大理 · 双廊",
"lat": 25.91,
"lng": 100.23
}
{
"type": "route",
"from": "双廊",
"to": "沙溪",
"style": "car"
}
每行一个镜头,按顺序执行。每个镜头有自己的参数,比如 locate 负责定位到某个地点,coordinate_card 弹出坐标卡,route 画路线。风格统一在最外层配置,改一个字段所有镜头跟着变。

路线数据全部来自高德 API。步行、骑行、驾车、公交,每种模式的路径都是真实的。里程数、海拔、耗时,都是 API 返回后实时计算的。所以不管你去哪,只要地名在高德数据库里,都能生成对应的动画。
底图方面,高德提供了 5 种官方样式:标准、暗色、灰色、复古、卫星。另外 7 种是代码手画的,比如暗色科技风、水彩手账风、工程蓝图风等。每种风格就是一套颜色配置和线条样式,切换只需要改一个字段。
开源地址
如果你有高德 MCP 的 access token,可以直接克隆仓库,在 config.yaml 里配好 token 和模型 key 就能用。如果没有,也可以直接访问高德开放平台申请。