矢量切片地图前端开发tileserver-gl

tileserver-gl简介

Vector and raster maps with GL styles. Server side rendering by Mapbox GL Native. Map tile server for Mapbox GL JS, Android, iOS, Leaflet, OpenLayers, GIS via WMTS, etc. http://tileserver.readthedocs.io/

源代码地址github:https://github.com/klokantech/tileserver-gl
矢量切片前段开发基于tileserver-gl改造。

MapBox GL

讲到TileServer-gl,我们不得不提到MapBox GL,官网地址:https://www.mapbox.com/mapbox-gl-js/api/

TileServer-gl目录结构

我们改造的TileServer-gl目录结构图:
我们改造的TileServer-gl目录结构图
如上图所示,fonts、js、mapbox、mapbox-gl、sprites、index.html
我们需要修改的地方,如下图红色方框选中部分:
在这里插入图片描述

字体fonts

字体库推荐使用微软雅黑,样式配置字体建议用一种字体配,选用多种字体,客户端需要下载,一个字体库在20-30M左右。

样式配置style.js

重要参考文献
MapBox GL https://www.mapbox.com/mapbox-gl-js/style-spec/
对应中文翻译 https://jingsam.github.io/mapbox-gl-style-spec/
在线样式编辑http://editor.openmaptiles.org/

CSDN Mapbox-GL样式参考 https://blog.csdn.net/wan_yanyan528/article/details/48465403

符号集图标配置sprite

Sprite属性提供了一个符号集,可以用于各种要素的渲染,包括background-pattern, fill-pattern, line-pattern, 和icon-image。sprite包含两个文件:

1、索引文件,json格式,描述每个单独符号的名称、大小、位置。例如一下描述了一个名为poi的符号:

{
“poi”: {
“width”: 32,
“height”: 32,
“x”: 0,
“y”: 0,
“pixelRatio”: 1
}
}

2、图像文件 ,一般png格式,包含符号的集合。
当指定一个sprite url以后,mapboxgl会自动在对应位置下载对应的json和png文件

图标可自己配置

tileserver-gl 是一个为Web应用提供矢量地图瓦片服务的服务器。它使用 Mapbox GL 格式的地图样式文件(如 JSON 文件),并将矢量数据渲染为瓦片。配置 tileserver-gl 主要包括准备地图样式文件、配置数据源以及设置服务器端的一些参数。以下是基本的配置步骤: 1. 安装 tileserver-gl: 你可以使用 npm 来安装 tileserver-gl: ``` npm install -g tileserver-gl ``` 2. 准备地图样式文件: 你需要准备一个有效的 Mapbox GL 格式的地图样式 JSON 文件。这个文件定义了地图的视觉样式,包括颜色、图层、符号等。你可以从 Mapbox 或者其他来源获取样式文件,或者自己创建一个。 3. 配置瓦片服务器: 使用 tileserver-gl 命令时,你可以通过命令行参数或者配置文件来指定地图样式文件的路径。此外,还可以配置HTTP服务的端口、跨域资源共享(CORS)设置、瓦片缓存等参数。 4. 启动服务: 在命令行中,输入以下命令启动 tileserver-gl: ``` tileserver-gl path/to/your-style.json ``` 或者,如果你使用配置文件(如 config.json),则运行: ``` tileserver-gl config.json ``` 5. 测试服务: 在浏览器中访问 http://localhost:8080,你应该能看到 tileserver-gl 服务的默认页面,表示服务已成功启动。 请注意,tileserver-gl 的配置可能会随着版本更新而发生变化,因此建议查看最新的官方文档以获取详细信息和高级配置选项。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值