跳至主要內容

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 非常的约束开发者的自由

  • 官网open in new window

  • 官方文档open in new window

  • 使用指南open in new window

下面是四个不同的框架的对比:

地图框架基本信息优缺点
CesiumWebGL渲染机制、二三维一体化可视化表达;经纬度坐标系、支持球体;优点:唯一开源的WebGIS三维引擎;适用于Web强三维应用场景
MapboxWebGL渲染机制、二三维一体化;三维方面存在一定争议,有人认为3D有的认为是2.5D;墨卡托坐标系,不支持球体优点:最具美感的专题地图缺点:没有球体运用于互联网场景复杂地理信息表达,追求地图可视化效果
Openlayers仅支持二维表达;不限制坐标系;优点:二维GIS功能最丰富全面缺点:地图样式简单,难以定制高颜值的可视化效果适用于传统地理信息强GIS的二维数据Web维护和展示
LeafletCanvas渲染机制;仅支持二维表达;墨卡托投影;优点:入手简单缺点:不支持Webgl渲染性能有瓶颈适用于轻量级简单地理信息主题可视化

核心方法

  • fitbounds:将地图调整到给定边界内。
  • addLayer:添加图层。
  • removeLayer:移除图层。
  • setCenter:设置中心点。
  • setPaintProperty:设置图层样式。--- 绘图
  • setLayoutProperty:设置图层样式。 --- 布局 参考官网open in new window
  • 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:弹出框
上次编辑于:
贡献者: 李元昊