类:比例尺

ol/control/ScaleLine~比例尺


import ScaleLine from 'ol/control/ScaleLine.js';

一个控件,用于显示基于视口中心计算的粗略 y 轴距离。对于等角投影(例如 EPSG:3857,即 OpenLayers 中的默认视图投影),比例尺在所有方向上都有效。当在视图投影中无法计算视口中心像素的 y 轴距离时,比例线将不会显示。默认情况下,比例线显示在地图的左下角区域,但可通过 css 选择器 .ol-scale-line 更改其位置。当将 bar 指定为 true 时,将渲染比例尺条而非比例线。对于比例线的笛卡尔坐标测量,需将投影的 getPointResolution 方法设置为仅返回输入值,例如 projection.setGetPointResolution(r => r);

new ScaleLine(options)

Name Type 描述
className string | undefined

CSS类名。默认为ol-scale-bar配置为bar: true否则,默认为ol-scale-line.

minWidth number (defaults to 64)

在 OGC 默认 dpi 下的最小像素宽度,宽度将根据所用 dpi 自动适配。

maxWidth number | undefined

在OGC默认dpi下的最大像素宽度,将根据所用dpi自动调整。

render function | undefined

当控件需要重新渲染时调用的函数。这被调用在requestAnimationFrame回调

target HTMLElement | string | undefined

如果您希望控件在地图视口之外渲染,请指定目标。

units Units (defaults to 'metric')

单位。

bar boolean (defaults to false)

渲染比例尺而不是线。

steps number (defaults to 4)

比例尺应设置的步数。建议使用偶数以获得最佳效果。此设置仅适用于以下情况。bartrue.

text boolean (defaults to false)

渲染比例尺上方的比例文本。仅适用于以下情况bartrue.

dpi number | undefined

输出设备(如打印机)的dpi。仅适用于以下情况。bartrue若未定义,则采用 OGC 默认屏幕像素大小为 0.28 毫米。

触发事件:

继承

可观察属性

Name Type 可设置 ObjectEvent type 描述
units Units 是的 change:units

比例尺中使用的单位。

方法

递增修订计数器并触发'change'事件。

dispatchEvent(event){boolean | undefined} inherited

分发一个事件,并调用所有监听此类型事件的监听器。事件参数可以是字符串,也可以是具有 type 属性的对象。

Name Type 描述
event BaseEvent | string

事件对象。

返回:
false 如果任何人在事件对象上调用了 preventDefault,或者任何侦听器返回了 false。

获取值。

Name Type 描述
key string

键名。

返回:
值。

getKeys(){Array.<string>} inherited

获取对象属性名称列表

返回:
属性名列表

获取与此控件关联的地图。

返回:
地图.

getProperties(){Object.<string, *>} inherited

获取包含全部属性名称及其对应值的对象。

返回:
对象。

getRevision(){number} inherited

获取该对象的版本号。每次修改该对象时,其版本号将自动递增。

返回:
修订版。

返回比例尺所使用的单位。

返回:
比例尺中使用的单位。

on(type, listener){EventsKey | Array<EventsKey>} inherited

监听特定类型的事件。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数。

返回:
监听器的唯一键。如果以事件类型数组作为第一个参数调用,则返回将是键的数组。

once(type, listener){EventsKey | Array<EventsKey>} inherited

针对特定类型的事件进行一次性监听。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组

listener function

监听器函数

返回:
监听器的唯一键。若以事件类型数组作为首个参数调用,则返回键数组。

set(key, value, silent) inherited

设置值。

Name Type 描述
key string

键名

value *

值。

silent boolean | undefined

更新时避免触发事件。

设置输出设备(如打印机)的dpi。

Name Type 描述
dpi number | undefined

输出设备的分辨率(dpi)。

将控件从当前地图移除并附加到新地图。 传递 null 以仅从当前地图中移除控件。 子类可设置事件处理程序来接收此处地图更改的通知。

Name Type 描述
map Map | null

地图.

setProperties(values, silent) inherited

设置键值对集合。请注意,此操作将修改现有属性并添加新属性,但不会删除任何现有属性。

Name Type 描述
values Object.<string, *>

值。

silent boolean | undefined

更新而不触发事件。

此函数用于设置控件的目标元素。若在控件已添加到地图后调用此函数(即已在控件上调用 setMap 后),则无效。若在传递给控件构造函数的选项中未设置 target,且未调用 setTarget,则控件将被添加到地图的覆盖层容器中。

Name Type 描述
target HTMLElement | string

目标元素。

setUnits(units)

设置比例尺的单位。

Name Type 描述
units Units

比例尺中使用的单位。

un(type, listener) inherited

取消监听特定类型的事件。

Name Type 描述
type string | Array.<string>

事件类型或事件类型数组。

listener function

监听器函数

unset(key, silent) inherited

清除属性。

Name Type 描述
key string

键名。

silent boolean | undefined

在不触发事件的前提下取消设置。