(一)Mapbox GL源码本地部署、打包、调试

1.前言

1.1.关于本文

       地理信息应用相关技术的学习,特别是在提升相关技术能力及知识面来说,源码的学习是技术能力提升的捷径。

1.2.关于MapBox GL

在这里插入图片描述

什么是MapBox GL

  • MapBox GL是MapBox提供的JavaScript SDK,可用于地理信息应用系统的开发;
  • MapBoxGL有较强的渲染性能,强劲的海量数据渲染能力,使其在各类GIS开发框架中脱颖而出;
  • 可在支持WebGL的移动端浏览器上运行;
  • 使用方便,可视化效果较好、扩展性高、拥有众多的插件使之可以满足开发者的各种需求。

MapBox GL的特点

MapBox GL的GL指的是WebGL,这是它最大的特点。WebGL是一种3D绘图协议,允许把JavaScript和OpenGL ES2.0结合在一起,为HTML5的Canvas元素提供硬件3D加速渲染。大多数PC和移动端浏览器支持WebGL。
MapBox GL使用WebGL渲染地图和图层,所以可以知道这对前端GIS开发者来说意味着什么:超越以往浏览器局限的硬件级渲染图形能力。 令无数前端GIS开发者头疼的大数据量GIS数据渲染、交互问题,若使用MapBoxGL,只要不超过当前硬件的渲染能力就都能实现。同时,MapBoxGL也顺理成章地支持一些3D效果:可以倾斜、旋转地图;可在地图上添加3D要素、呈现立体地图等。
简单的来说:MapBox GL支持包括底图的各类地图要素的WEB端渲染。

1.3.环境说明

操作系统:windows 7 64位
MapBox GL版本:

2.Mapbox源码下载

2.1.基础环境准备

GIT环境搭建:
详细点击:(一)windows 安装 git
Node.JS环境搭建:
详细点击:(一)Node.JS 安装说明
Yarn环境搭建:
详细点击:(一)Yarn安装、配置、镜像源修改
Npm and node-gyp依赖安装
详细点击:(二)Node.js安装本地插件构建工具node-gyp
其他地址:
GitHub Mapbox源码地址:https://github.com/mapbox/mapbox-gl-js

2.2.克隆项目至本地

注意:需要提前安装好GIT、Node.JS、Yarn、Npm and node-gyp
1:GIT、Node.JS、Yarn按照基础环境准备安装即可,Npm and node-gyp安装说明如下:

1:打开GitHub mapbox源码地址,点击第2步的按钮,出现弹出框点击第3步复制地址(一定要看源码的说明,例如查看MapBox安装步骤,如下第2张图);
在这里插入图片描述
在这里插入图片描述
2:新建一个项目文件夹(尽量不要用中文),右键点击Git Bash Here;
在这里插入图片描述
3:弹出窗口后输入git clone + 复制的地址,然后回车下载源码,如下:
在这里插入图片描述
4:cmd 进入下载后的mapbox GL源码文件夹,Yarn命令安装源码依赖,如下图:

 yarn install

在这里插入图片描述
5: 安装headless-gl,并将node_modules/headless-gl/deps/windows/dll/x64/*.dll 复制到c:\windows\system32
在这里插入图片描述

  1. 安装命令:
  npm install gl
  1. 复制相关文件到指定文件夹:
    在这里插入图片描述

3.Mapbox本地编译

注意: 基础环境准备相关工作要全部完成,在win7 和win10系统都安装过,都可以顺利完成的,如果哪个步骤出错了,可以重新再来一遍,特变是一键安装vs相关环境的时候,安装包比较大,下载都需要很长时间(保证镜像源是国内的还),要有耐心,但是基本上安装进度都是可见的,如果卡到安装过程某个环节,果断重新开始那一步骤地安装即可。
在这里插入图片描述
按照github mapbox-gl操作指南编译项目是YARN模式,命令如下:

   yarn run start-debug 

当然也可以用npm相关命令安装依赖,编译项目,本文按照github mapbox-gl操作指南安装依赖,编译项目,各位也可以用npm相关命令管理项目。

4.Mapbox源码调试

简单说明package两个命令,其他命令不熟悉的可以自己试下或者查下材料:
以源码模式启动项目

   yarn run start-debug 

以开发模式构建源码

   yarn run build-dev

出现下图这种情况,在mapbox申请token,然后在代码中添加token后再次访问即可
在这里插入图片描述
在mapbox官网申请token后,在debug/index.html中代码最上方增加token即可。
在这里插入图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
要在 Mapbox GL 中配置本地字体,你需要使用 node-fontnik 库来生成字体文件。下面是一些步骤来完成这个过程: 1. 安装 node-fontnik:在命令行中运行以下命令来安装 node-fontnik: ``` npm install fontnik ``` 2. 生成字体文件:创建一个 JavaScript 文件,使用以下代码来生成字体文件: ```javascript const fontnik = require('fontnik'); const fs = require('fs'); const fontPath = 'path/to/your/font.ttf'; // 替换为你的字体文件路径 const outputPath = 'path/to/output/font.pbf'; // 替换为你想要保存字体文件的路径 fs.readFile(fontPath, (err, data) => { if (err) throw err; fontnik.load(data, (err, font) => { if (err) throw err; const ranges = [{ start: 0, end: 65535 }]; // 要生成的字体范围 const glyphs = ranges.map(range => font.encode({ ...range })); fontnik.compress(glyphs, (err, pbf) => { if (err) throw err; fs.writeFile(outputPath, pbf, err => { if (err) throw err; console.log('字体文件已生成'); }); }); }); }); ``` 在上面的代码中,将 `'path/to/your/font.ttf'` 替换为你的实际字体文件路径,将 `'path/to/output/font.pbf'` 替换为你想要保存字体文件的路径。你可以通过修改 `ranges` 数组来指定要生成的字体范围。 3. 运行生成字体文件的脚本:在命令行中运行以下命令来执行生成字体文件的脚本: ``` node your-script.js ``` 将 `your-script.js` 替换为包含生成字体文件代码的实际 JavaScript 文件名。 4. 在 Mapbox GL 中加载本地字体:在你的 Mapbox GL 应用程序中,使用以下代码来加载和设置本地字体: ```javascript mapboxgl.setRTLTextPlugin('path/to/output/font.pbf', null, true); ``` 将 `'path/to/output/font.pbf'` 替换为你生成的字体文件的路径。 通过以上步骤,你可以使用 node-fontnik 生成字体文件,并在 Mapbox GL 中加载和配置本地字体。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值