node 爬取瓦片制作自己的地图服务

本文介绍了一种在封闭环境下使用地图底图的方法,通过一个简单的程序爬取在线地图瓦片,并将其作为静态地图服务器,实现本地地图服务。程序包括180行JS代码和不到10行HTML,可在本地浏览器中运行,支持地图缩放和平移。项目已开源在GitHub上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于很多时候需要在封闭的环境下使用地图底图, 写了一个爬取在线地图瓦片作为静态地图服务器的简单程序, js 代码 180 行, html 不到 10行, 废话不多说直接 github源码

展示

使用方法

  npm install
  node app.js || npm run dev

复制代码
  • 在本地浏览器中打开 client/index.html

  • 在浏览器中滚动鼠标

爬虫

app.js

  • 服务器接收瓦片请求并判断是否存在该瓦片。

  • 存在瓦片则返回瓦片, 不存在则加入缓存等待下载。

downloadMap.js

  • 缓存链接到数组内。

  • 服务端会每隔1秒检查数组内是否有链接 有则去下载。

地图相关
  • Arcgis 官方使用插件 dojo.js 来接入地图底图。

  • dojo.js 除了展示底图几乎一无是处, dojo.js 和 require.js 有冲突。

  • Arcgis 工具分为制作底图的客户端 ArcMap, 服务器 Arcgis Server。

  • leaflet 有相当多的接口和插件来制作地图工具。

  • ArcMap 在发布服务时一定要设置好参数, 不然 leaflet 不能接入底图。

转载于:https://juejin.im/post/5bdbe49ff265da612414e597

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值