打开电脑,准备做一张属于自己的地图,却发现网上的教程不是讲得太深就是太浅。其实地图标注这件事,核心就一句话:把你想说的信息,用代码“钉”在地图上。不管是做个旅行足迹图,还是给公司做门店分布图,只要掌握了几个关键代码片段,你就能在半小时内搞定一张像模像样的专属地图。别被“代码”两个字吓到,今天我就带你把这些标注代码掰开揉碎,一个个看清楚它们到底在干什么。

先说说最基础的地图标注代码长什么样。以目前最流行的Leaflet为例,一张地图的诞生只需要三行核心代码:第一行初始化地图,第二行设置中心点和缩放级别,第三行把地图贴到网页上。但真正让地图“活”起来的,是标注代码。一个最简单的标记点,代码长这样:。这串东西拆开看,是告诉程序“我要放个图钉”,后面跟的坐标是图钉的经纬度,则是说“把这个图钉放到刚才那张地图上”。就这么简单,你已经完成了第一次地图标注。
但光会放图钉远远不够,因为你的地图得有信息。这时候就要给标注加上弹窗,代码变成。就是给图钉绑上一段文字,点击图钉就能看到。这段代码里的字符串你可以随便换,换成地址、换成照片链接、换成一段介绍都行。如果你有几十个点要标,总不能一个个手写吧?那就用循环。把坐标和文字存进一个数组,然后用循环遍历,每循环一次就放一个标注。这招特别适合做旅行足迹图,把你去过的每个城市的坐标和照片链接放进去,地图一刷新,所有足迹就都亮出来了。
除了静态标注,代码还能让标注“动”起来。比如你做一个跑步路线图,想画出轨迹,那用的就是。这个代码的作用是画线,你只需要把一串坐标点按顺序传进去,它就能连成一条线。如果配合时间戳,还能做成动画效果,让线条像流水一样在地图上慢慢延伸。再比如你想画个区域,比如小区范围、校区边界,那就用,它跟画线的代码几乎一样,区别只是会把首尾连起来,形成一个封闭图形。这三种标注方式——点、线、面,基本覆盖了90%的日常需求。
不过,地图标注的进阶玩法在于自定义图标。默认的蓝色图钉虽然不难看,但用多了就腻了。你可以用自定义一个图标,代码大概是这样:。这里的换成你自己的图片链接,控制图片大小。做完这步,你的地图上就能出现小汽车、小蛋糕、小飞机——想放什么放什么。我见过一个做餐饮的朋友,把自家每家分店的标注图标都换成了菜品照片,顾客点开地图一目了然。这种自定义能力,才是地图标注代码最让人上瘾的地方。
说到实际应用,地图标注代码最有价值的场景之一是数据可视化。比如你想分析某个商圈的人流热力,可以用直接生成热力图。它的代码逻辑很简单,把坐标点和权重值传进去,地图上就会自动生成红黄蓝的渐变色块,颜色越深表示数据越密集。这比看图说话直观多了。再比如你想做门店覆盖范围分析,可以用画半径圈,代码是,500是半径,单位是米。几行代码一跑,每个门店的覆盖范围清清楚楚,比做PPT表格强一百倍。
提醒一个新手容易踩的坑:坐标格式。国内地图用GCJ-02坐标系,国际通用的Google地图用WGS-84,如果你拿国际坐标直接往国内地图上标,你会发现点位偏出去几百米。解决办法是在代码里加一个转换函数,把WGS-84坐标转成GCJ-02。这个函数网上有大把现成的,复制过来就能用。我见过太多人在这一步栽跟头,调了半天代码发现点位全飘在海里,其实就是坐标系没转换。搞定了这个坑,你的地图标注代码就算真正入门了。
从最初的那行到现在,你已经能放点、画线、围区域、换图标、做热力图,这些代码全部加起来不过几十行。地图标注没有想象中那么神秘,它就像乐高积木,核心零件就那几块,拼法千变万化。下次再有人说地图标注是程序员专属技能,你可以直接把这段代码甩给他——。就这么简单,你的专属地图,从这一行代码就开始了。
