超酷!一键绘制你爱的城市的地图

2022-12-06 16:11:44 浏览数 (1)

大家好呀,我是机灵可爱的开源小妹。

前段时间在网上帮朋友挑选礼物的时候,看到了这样的一个礼物:将两个城市的地图拼在一起形成一副地图画。

当时感觉这种简约风格的地图还挺酷的,很有艺术感。结果这几天正好发现了一个开源项目,可以直接生成类似的图片,比如北京:

上海:

怎么样,是不是还蛮酷的,都可以当壁纸用啦!

这个开源项目就是:city-roads。下面由我简单的为大家介绍一下吧~

简介

city-roads 是一个 Node.js 项目,它可以生成任意一个城市的道路图。其数据来源于 OpenStreetMap 的免费地图数据,并对数据进行可视化。

本地启动

city-roads 的本地启动方式非常简单,当然前提是你本地安装了 node.js。

在下载完源码之后,进入到项目的根目录。执行以下命令安装依赖的包:

代码语言:javascript复制
npm install

该命令可以自动安装 package.json 文件中配置的项目依赖的包。

之后执行以下命令启动服务:

代码语言:javascript复制
npm run dev

如果中途有类似的报错:

不用担心,这可能是因为本地安装的 node.js 是 v17.0.0 以上的版本,我们先执行这个命令:

代码语言:javascript复制
export NODE_OPTIONS=--openssl-legacy-provider

之后再执行npm run dev命令就可以啦。

生成地图

服务启动后,访问 localhost:8080 进入主页面。

在搜索框中搜索你想生成地图的城市,选择后,等待下载数据后,就可以自动渲染生成地图了。

下载地图数据的过程可能会比较慢,耐心等待一会就好啦~

地图生成之后,我们可以随意更改道路线条的颜色和背景颜色。

或者点击 As an image 链接下载当前缩放大小的图片。

0 人点赞