经纬志
首页 / MapLibre / API 文档

ScaleControl

先看结论

显示当前缩放级别下的实际距离比例尺。

最后验证 2026-11-03 · MapLibre GL JS 4.x · 更新 2026-10-27 · 引用本文
new maplibregl.ScaleControl(options) → ScaleControl

构造参数

参数默认说明
maxWidth100比例尺的最大像素宽度,实际宽度按整数刻度收敛
unitmetricmetric、imperial、nautical

添加方式

map.addControl(new maplibregl.ScaleControl({
  maxWidth: 120,
  unit: 'metric'
}), 'bottom-left');

比例尺放在左下角最常见,右下角通常被版权信息占用。 位置参数与导航控件相同,取值同样是四个角落。

读数为什么随纬度变化

底图使用 Web 墨卡托投影,同一缩放级别下,屏幕上同样长度的线段 在高纬度代表的实际距离更短。比例尺会按当前纬度实时修正, 因此南北拖动地图时读数会变。

这是投影本身的性质,不是显示错误。 需要固定长度的图形比例尺时,应当在目标纬度处取一次读数, 或者改用等距投影的底图。

单位选择

unit显示适用
metric米 / 公里国内项目默认
imperial英尺 / 英里英制地区
nautical海里航海、航空图

比例尺不是测量工具。它只给出屏幕上的近似距离, 精确量测应以数据坐标计算为准。需要画线量距时, 用 map.unproject 把屏幕坐标换成经纬度,再交给距离函数。

引用本文

经纬志(2026)。《ScaleControl》。https://www.jingweizhi.com/maplibre/api/scale-control.html(访问日期 2026-11-03)。