基于mapbox搭建可离线的矢量切片地图服务-3.Mapbox个性化地图定制入门
作者:ATtuing
出处:http://www.cnblogs.com/ATtuing
最近在做关于mapbox的项目,看到这篇文章感觉特别好,特此转载记录一下。
先不说废话直接上地址:(所有东西都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵)。
01:中国地图:http://test.sharegis.cn/mapbox/html/3china.html
02:德国-德累斯顿市:http://test.sharegis.cn/mapbox/html/6germany.html
1.简介
mapbox是一家非常牛的公司,比如像特斯拉、DJI大疆创新、孤独星球、Airbnb、GitHub、Cisco、Snap、飞猪、Keep、Bosch这些在国内外各自领域中响当当的企业都是它的客户。专注于帮助企业打造定制化地图应用的Mapbox就是这样一家“你看不见我,但我无处不在”的企业。可以开发和定制web、android、IOS、VR、无人驾驶、甚至是游戏地图场景等。
mapbox-gl是Mapbox一款开源Web地图服务解决方案,用于搭建精美的地图服务,可以免费创建并定制个性化地图的网站。他最大的优点就是可以使用类似于css的样式来描述地图,并提供类似于photoshop的图像界面来设计和生成精美的样式。我们本篇主要讲一下Mapbox在Web地图中的应用。
2.Mapbox入门
1.打开向导页:https://www.mapbox.com/install/,选择开发平台SDK,
2.选择Mapbox GL js 方式,第一种为CDN在线模式,类似于引用jquery一样,我们也可以下载下来。第二种为模块化js搭建,可使用webpack等模块化工具搭建。
3.搭建第一个页面。
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><meta charset="utf-8" /><style>html, body {padding: 0;margin: 0;height: 100%;overflow: hidden;}#map {height: 100%;z-index: 0;}</style><script src='https://api.mapbox.com/mapbox-gl-js/v0.44.2/mapbox-gl.js'></script><link href='https://api.mapbox.com/mapbox-gl-js/v0.44.2/mapbox-gl.css' rel='stylesheet' />
</head>
<body><div id='map'></div><script>mapboxgl.accessToken = 'YourToken';var map = new mapboxgl.Map({container: 'map',style: 'mapbox://styles/mapbox/streets-v10'});</script>
</body>
</html>
配色非常舒服的地图界面,通过js代码分析可以看出最核心的代码就是 style: ‘mapbox://styles/mapbox/streets-v10’,他包含了所有的地图样式。
3.Mapbox进阶
入门例子中style样式都封装到了一起,下面这个例子展示如何将style分解,为后面离线部署提供解决方案,具体可以查看一下style api.
<!DOCTYPE html>
<html>
<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title><meta charset="utf-8" /><style>html, body {padding: 0;margin: 0;height: 100%;overflow: hidden;}#map {height: 100%;z-index: 0;}</style><script src='https://api.mapbox.com/mapbox-gl-js/v0.44.2/mapbox-gl.js'></script><link href='https://api.mapbox.com/mapbox-gl-js/v0.44.2/mapbox-gl.css' rel='stylesheet' />
</head>
<body><div id='map'></div><script>mapboxgl.accessToken = 'pk.eyJ1IjoiYXR0dWluZyIsImEiOiJjamNham4ycTgwZzVkMndzM2lzYTJtN2VjIn0.kB9yWdGNuo7_oi3brXX4-A';var map = new mapboxgl.Map({container: 'map',style: {"version": 8,"name": "Mapbox Streets","sprite": "mapbox://sprites/mapbox/streets-v8","glyphs": "mapbox://fonts/mapbox/{fontstack}/{range}.pbf","sources": {"mapbox-streets": {"type": "vector","url": "mapbox://mapbox.mapbox-streets-v6"}},"layers": [{"id": "water","source": "mapbox-streets","source-layer": "water","type": "fill","paint": {"fill-color": "#00ffff"}}]}});</script>
</body>
</html>
api解析:
1.version:这个JS SDK对应版本必须为8。
2.name:样式的命名。
3.sprite:将一个地图涉及到的所有零星图标图片都包含到一张大图中去,我们看一下streets-v8的sprite图片。
4.glyphs:.pbf格式的字体样式,例如微软雅黑等字体库。
5.sources:图层的资源文件,可以支持矢量切片、栅格、dem栅格、图片、geojson、视频等格式。
6.layers:是对每个图层样式的描述,这里就是对地图样式渲染的关键,可以做很多精美的设计。
写到这里我们还有一个疑问 mapboxgl.accessToken 这个accessToken 是干什么的?其实Mapbox提供了在线样式的编辑,以及矢量数据上传,图标的整合等,这个accessToken 其实是为了与你上传到他们服务器的数据做关联,如果我们不依赖他的在线资源,我们完全可以不使用这个accessToken 。
4.Mapbox离线部署
通过上面的分析,mapbox-gl.js、mapbox-gl.css下载到本地就行。离线部署现在主要的问题是首先有自己的矢量切片文件,上一节我们讲过如何发布矢量切片服务,其次有个glyphs字体文件,后面文章我会提供一个微软雅黑的.pbf格式的字体库,以及我获取.pbf字体库的方式。剩下的就是编写自己的地图样式了。
5.总结
这一篇主要讲了一下Mapbox的基础,以及对离线部署的分析,下一篇讲一下我们之前提到的项目实现。
待续。。。。。。。。。。。。。。。。。。。。。
基于mapbox搭建可离线的矢量切片地图服务-3.Mapbox个性化地图定制入门相关推荐
- 基于mapbox搭建可离线的矢量切片地图服务-1.开篇(附成果演示地址)
作者:ATtuing 出处:http://www.cnblogs.com/ATtuing 最近在做关于mapbox的项目,看到这篇文章感觉特别好,特此转载记录一下. 先不说废话直接上地址:(所有东西都 ...
- 开源方案搭建可离线的精美矢量切片地图服务-6.Mapbox之.pbf字体库
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢 ...
- 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢 ...
- 开源方案搭建可离线的精美矢量切片地图服务-5.Mapbox离线项目实现
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢 ...
- Mapbox、GeoServer离线部署矢量地图
Mapbox.GeoServer离线部署矢量地图 关键词:Mapbox.GeoServer.Tomcat.PostgreSQL.PostGis 一.地图数据获取 使用OpenStreetMap获取中国 ...
- 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址)
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢 ...
- 开源方案搭建可离线的精美矢量切片地图服务-7.Arcgis Pro企业级应用
系列文章目录 开源方案搭建可离线的精美矢量切片地图服务-1.开篇(附成果演示地址) 开源方案搭建可离线的精美矢量切片地图服务-2.PostGIS+GeoServer矢量切片 开源方案搭建可离线的精美矢 ...
- python3下载mapbox矢量切片
python3下载mapbox矢量切片 通过观察mapbox的页面开发者工具里的network可以发现,打开矢量切片和字体切片pbf和prite图标的链接,即可下载文件.所以写了个python程序不断 ...
- 矢量切片_数据粒度均衡的二维矢量瓦片构建方法
作 者 信 息 应 申1,2,王子豪1,杜志强3,丁火平4, 李翔翔4 (1. 武汉大学 资源与环境科学学院,湖北 武汉 430079:2. 自然资源部城市国土资源监测与仿真重点实验室,广东 深圳 5 ...
最新文章
- 万年历java课程设计报告_java万年历课程设计报告2010
- Linux快速复制T级数据或删除大量小文件
- C#中使用Process调取Windows中的进程(应用程序)
- Oracle数据库与Access互导实例
- mybatis 配置错误 XML document structures must start and end within the same entity
- SAP BTP 应用 mta.yaml 里的 sap-btp-project1-dest-content module
- 合并报表编制采用的理论_合并财务报表的简易编制方法,真是太好用了!财务,会计一起看...
- Eclipse C++的配置问题launch failed binary not found
- AliOS Things网络连接技术概述
- python动态页面元素爬取_python动态爬取网页
- oracle32转64,Oracle10g下载地址--多平台下的32位和64位 (转)
- Mendix的Hybrid App本地开发最佳实践
- 学生成绩预测模型_学生成绩分析预测
- 如何批量转换xls文件为xlsx?
- 高阶函数:如何使用过滤器,映射和约简以获得更可维护的代码
- 香港服务器部署网站慢,用香港云主机服务器网站慢怎么解决?
- 2020.04.10 【ABAP随笔】- ABAP面试分享
- STM32芯片烧录的三种方式介绍,串口、STM32 ST-LINK Utility以及STM32CubeProgrammer
- win10服务器权限修改时间,大师为你解答win10系统时间无法修改没有权限的处理方案...
- flink sql 指南