Mapbox
大约 3 分钟
Mapbox
介绍
特点
mapbox 是一个生态丰富的 GIS 框架,mapbox 不仅仅是支持 web 端的开发,它还支 持移动端的 GIS 开发、还支持桌面端应用、还有一些地图服务以及静态地图资源。
同时 mapbox 也是一个同时支持 2D/3D 的框架。所以 mapbox 框架本身是非常强大的。
另外 mapbox 比较注重地图的样式,他们希望地图是美观的,是优美的。因此 mapbox 也使用 了 canvas 的‘webgl’模式来渲染地图
mapbox 其实严格意义上并不属于一个完全开源的框架, 这一点从其 accessToken 就能看出来。你不申请 token 都无法使用 mapbox 这个框架
所 以 mapbox 的 api 没有那么的底层和自由,可修改性、自定义的的程度不高。官方支持的部 分你不用多考虑,用起来很省劲,但是不支持的地方你也很难去写插件或者改代码,因为它 的 API 开放程度比较低。底层操作通常是不被允许且不支持的。相比于 openlayers 和 leaflet, mapbox 非常的约束开发者的自由
下面是四个不同的框架的对比:
| 地图框架 | 基本信息 | 优缺点 |
|---|---|---|
| Cesium | WebGL渲染机制、二三维一体化可视化表达;经纬度坐标系、支持球体; | 优点:唯一开源的WebGIS三维引擎;适用于Web强三维应用场景 |
| Mapbox | WebGL渲染机制、二三维一体化;三维方面存在一定争议,有人认为3D有的认为是2.5D;墨卡托坐标系,不支持球体 | 优点:最具美感的专题地图缺点:没有球体运用于互联网场景复杂地理信息表达,追求地图可视化效果 |
| Openlayers | 仅支持二维表达;不限制坐标系; | 优点:二维GIS功能最丰富全面缺点:地图样式简单,难以定制高颜值的可视化效果适用于传统地理信息强GIS的二维数据Web维护和展示 |
| Leaflet | Canvas渲染机制;仅支持二维表达;墨卡托投影; | 优点:入手简单缺点:不支持Webgl渲染性能有瓶颈适用于轻量级简单地理信息主题可视化 |
核心方法
- fitbounds:将地图调整到给定边界内。
- addLayer:添加图层。
- removeLayer:移除图层。
- setCenter:设置中心点。
- setPaintProperty:设置图层样式。--- 绘图
- setLayoutProperty:设置图层样式。 --- 布局 参考官网
- setFilter:设置过滤条件。
- loadImage:加载图片。
- addSource:添加数据源。
核心参数
- center:中心点
- zoom:缩放级别
- dragPan: 是否允许拖动平移
- dragRotate:是否允许拖动旋转
- bounds:边界
- container:容器
- projection:投影
- renderWorldCopies:是否渲染世界拷贝
- style:样式
- pitch:俯仰角
事件监听
- load:地图加载完成
- click:点击
- mousemove:鼠标移动
- mouseenter:鼠标进入
- mouseleave:鼠标离开
- zoomstart:地图缩放开始
- zoomend:地图缩放结束
- dragstart:地图拖动开始
- dragend:地图拖动结束
图层
- 矢量图层
- 点:Circle
- 线:Line
- 面:Fill
- 图标:Symbol
- 三维:Extrusion
- 栅格图层:png、jpg、giff
- 瓦片图层
- 栅格瓦片
- 矢量瓦片
- DOM 图层
- marker:标记
- popup:弹出框
