首页 / MapLibre / API 文档
ScaleControl
先看结论
显示当前缩放级别下的实际距离比例尺。
new maplibregl.ScaleControl(options) → ScaleControl
构造参数
| 参数 | 默认 | 说明 |
|---|---|---|
maxWidth | 100 | 比例尺的最大像素宽度,实际宽度按整数刻度收敛 |
unit | metric | metric、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)。