超酷!一键绘制你爱的城市的地图
大家好呀,我是机灵可爱的开源小妹。
前段时间在网上帮朋友挑选礼物的时候,看到了这样的一个礼物:将两个城市的地图拼在一起形成一副地图画。
当时感觉这种简约风格的地图还挺酷的,很有艺术感。结果这几天正好发现了一个开源项目,可以直接类似的图片,比如北京:
上海:
怎么样,是不是还蛮酷的,都可以当壁纸用啦!
这个开源项目就是:city-roads。下面由我简单的为大家介绍一下吧~
简介
city-roads是一个Node.js项目,它可以生成任意一个城市的道路图。其数据来源于OpenStreetMap的免费地图数据,并对数据进行可视化。
本地启动
city-roads的本地启动方式非常简单,当然前提是你本地安装了node.js。
在下载完源码之后,进入到项目的根目录。执行以下命令安装依赖的包:
1 | npm install |
该命令可以自动安装package.json文件中配置的项目依赖的包。
之后执行以下命令启动服务:
1 | npm run dev |
如果中途有类似的报错:
不用担心,这可能是因为本地安装的node.js是v17.0.0以上的版本,我们先执行这个命令:
1 | export NODE_OPTIONS=--openssl-legacy-provider |
之后再执行npm run dev
命令就可以啦。
生成地图
服务启动后,访问localhost:8080进入主页面。
在搜索框中搜索你想生成地图的城市,选择后,等待下载数据后,就可以自动渲染生成地图了。
下载地图数据的过程可能会比较慢,耐心等待一会就好啦~
地图生成之后,我们可以随意更改道路线条的颜色和背景颜色。
或者点击As an image链接下载当前缩放大小的图片。
当然啦,如果只是想尝试一下,不想本地部署的话,项目也提供了线上的演示demo在线生成地图,赶紧到公众号后台回复「map」获取开源项目地址和线上预览地址吧!