Class: Graticule

ol/layer/Graticule~Graticule


import Graticule from 'ol/layer/Graticule.js';

渲染坐标系统网格的图层(目前仅支持 EPSG:4326)。注意,视图投影必须同时定义 extent 和 worldExtent。

new Graticule(options)

Name Type Description
className string (defaults to 'ol-layer')

设置到图层元素的 CSS 类名。

opacity number (defaults to 1)

不透明度 (0, 1)。

visible boolean (defaults to true)

可见性。

extent Extent | undefined

图层渲染的边界范围。 图层不会在此范围之外渲染。

zIndex number | undefined

图层渲染的 z-index。在渲染时,图层将按 Z-index 排序,然后按位置排序。当 undefined 时,添加到地图 layers 集合的图层假定 zIndex 为 0,或使用图层 setMap() 方法时为 Infinity

minResolution number | undefined

此图层可见的最小分辨率(含)。

maxResolution number | undefined

此图层可见的最大分辨率(不含)。

minZoom number | undefined

此图层可见的最小视图缩放级别(不含)。

maxZoom number | undefined

此图层可见的最大视图缩放级别(含)。

maxLines number (defaults to 100)

从地图中心出发的最大经线和纬线数。默认值 100 表示最多显示 200 条经线和 200 条纬线。默认值适用于球面墨卡托等共形投影。如果增加该值,将绘制更多线条,绘制性能会下降。

strokeStyle Stroke | undefined

用于绘制经纬网的描边样式。如果未提供,将使用以下描边:

new Stroke({
  color: 'rgba(0, 0, 0, 0.2)' // a not fully opaque black
});
targetSize number (defaults to 100)

经纬网单元的目标尺寸(像素)。

showLabels boolean (defaults to false)

为每条经纬网线渲染带有相应纬度/经度的标签。

lonLabelFormatter function | undefined

经度标签格式化器。此函数以经度为参数调用,应返回表示经度的格式化字符串。默认情况下,标签格式为度、分、秒和半球。

latLabelFormatter function | undefined

纬度标签格式化器。此函数以纬度为参数调用,应返回表示纬度的格式化字符串。默认情况下,标签格式为度、分、秒和半球。

lonLabelPosition number (defaults to 0)

经度标签在视图范围中的位置比例(0..1)。0 表示视口底部,1 表示顶部。

latLabelPosition number (defaults to 1)

纬度标签在视图范围中的位置比例(0..1)。0 表示视口左侧,1 表示右侧。

lonLabelStyle 文本 | undefined

经度标签文本样式。如果未提供,将使用以下样式:

new 文本({
  font: '12px Calibri,sans-serif',
  textBaseline: 'bottom',
  fill: new Fill({
    color: 'rgba(0,0,0,1)'
  }),
  stroke: new Stroke({
    color: 'rgba(255,255,255,1)',
    width: 3
  })
});

注意默认的 textBaseline 配置对于将标签放置在视口顶部附近的 lonLabelPosition 配置可能不太适用。

latLabelStyle 文本 | undefined

纬度标签文本样式。如果未提供,将使用以下样式:

new 文本({
  font: '12px Calibri,sans-serif',
  textAlign: 'end',
  fill: new Fill({
    color: 'rgba(0,0,0,1)'
  }),
  stroke: Stroke({
    color: 'rgba(255,255,255,1)',
    width: 3
  })
});

注意默认的 textAlign 配置对于将标签放置在视口左侧附近的 latLabelPosition 配置可能不太适用。

intervals Array.<number> (defaults to [90, 45, 30, 20, 10, 5, 2, 1, 30/60, 20/60, 10/60, 5/60, 2/60, 1/60, 30/3600, 20/3600, 10/3600, 5/3600, 2/3600, 1/3600])

经纬网的间隔(度)。例如,将经纬网限制为 30 和 10 度间隔:

[30, 10]
wrapX boolean (defaults to true)

是否水平重复经纬网。

properties 对象。<string, *> | undefined

任意可观察属性。可通过 #get()#set() 访问。

触发事件:

Extends

Observable Properties

Name Type Settable ObjectEvent type Description
extent Extent | undefined yes change:extent

图层范围。

maxResolution number yes change:maxresolution

图层的最大分辨率。

maxZoom number yes change:maxzoom

图层的最大缩放级别。

minResolution number yes change:minresolution

图层的最小分辨率。

minZoom number yes change:minzoom

图层的最小缩放级别。

opacity number yes change:opacity

图层的不透明度。

source SourceType | null yes change:source

图层数据源(如果尚未设置则为 null)。

visible boolean yes change:visible

图层 visible 属性的值。

zIndex number | undefined yes change:zindex

图层的 Z-index。

Methods

增加修订计数器并分发 'change' 事件。

dispatchEvent(event){boolean | undefined} inherited

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

Name Type Description
event BaseEvent | string

事件对象。

返回值:
如果有人在事件对象上调用了 preventDefault 或任何监听器返回 false,则返回 false

获取一个值。

Name Type Description
key string

键名。

返回值:
值。

getAttributions(view){Array.<string>} inherited

获取此图层数据源在给定视图下的归属信息。

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View 或 FrameState。仅在图层未添加到地图时需要。

返回值:
此图层在给定视图下的归属信息。

getExtent(){Extent | undefined} inherited

返回图层的 范围,如果无论范围如何都可见则返回 undefined

返回值:
图层范围。

getFeatures(pixel){Promise<Array<要素Like>>} inherited

获取与视口上给定像素相交的最上层要素。返回一个解析为要素数组的 Promise。当检测到命中时,数组将包含最上层的要素,否则为空。

此方法使用的命中检测算法针对性能进行了优化,但不如 map.getFeaturesAtPixel() 中使用的算法准确。文本不被考虑,图标仅由其边界框表示而非精确图像。

Name Type Description
pixel Pixel

像素。

返回值:
解析为要素数组的 Promise。

getKeys(){Array.<string>} inherited

获取对象属性名列表。

返回值:
属性名列表。

getMaxResolution(){number} inherited

返回图层的最大分辨率。如果图层未设置最大分辨率则返回 Infinity。

返回值:
图层的最大分辨率。

getMaxZoom(){number} inherited

返回图层的最大缩放级别。如果图层未设置最大缩放则返回 Infinity。

返回值:
图层的最大缩放级别。

getMeridians(){Array<LineString>}

获取经线列表。经线是经度相等的线。

返回值:
The meridians.

getMinResolution(){number} inherited

返回图层的最小分辨率。如果图层未设置最小分辨率则返回 0。

返回值:
图层的最小分辨率。

getMinZoom(){number} inherited

返回图层的最小缩放级别。如果图层未设置最小缩放则返回 -Infinity。

返回值:
图层的最小缩放级别。

getOpacity(){number} inherited

返回图层的不透明度(0 到 1 之间)。

返回值:
图层的不透明度。

getParallels(){Array<LineString>}

获取纬线列表。纬线是纬度相等的线。

返回值:
The parallels.

getProperties(){NoInfer.<Properties>} inherited

获取包含所有属性名和值的对象。

返回值:
对象。

getRevision(){number} inherited

获取此对象的版本号。 每次对象被修改时,其版本号将递增。

返回值:
版本号。

getSource(){SourceType | null} inherited

获取图层数据源。

返回值:
图层数据源(如果尚未设置则为 null)。

getStyle(){StyleLike | FlatStyleLike | null | undefined} inherited

获取要素的样式。返回构造时传递给 style 选项或 setStyle 方法的值。

返回值:
图层样式。

getStyle函数(){Style函数 | undefined} inherited

获取样式函数。

返回值:
图层样式函数。

getVisible(){boolean} inherited

返回此图层 visible 属性的值。要确定图层在地图上是否可见,请改用 isVisible()

返回值:
图层 visible 属性的值。

getZIndex(){number | undefined} inherited

返回图层的 Z-index,用于在渲染前排列图层顺序。如果图层未管理则返回 undefined。

返回值:
图层的 Z-index。

isVisible(view){boolean} inherited

图层在地图视图中可见,即在其最小/最大分辨率或缩放级别和范围内,未设置为 visible: false,且不在设置为 visible: false 的图层组内。

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View 或 FrameState。仅在图层未添加到地图时需要。

返回值:
图层在地图视图中可见。

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

监听特定类型的事件。

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

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

仅监听一次特定类型的事件。

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

返回值:
监听器的唯一键。如果第一个参数是事件类型数组,则返回键的数组。

set(key, value, silent) inherited

设置一个值。

Name Type Description
key string

键名。

value *

值。

silent boolean | undefined

更新但不触发事件。

setDeclutter(declutter) inherited

Name Type Description
declutter boolean | string | number

去除图像和文本重叠。

setExtent(extent) inherited

设置图层可见的范围。如果为 undefined,图层在所有范围中都可见。

Name Type Description
extent Extent | undefined

图层的范围。

将图层设置为在地图上渲染在其他图层之上。地图不会在其图层集合中管理此图层。这适用于临时图层。要从地图中移除非托管图层,请使用 #setMap(null)

要将图层添加到地图并由地图管理,请改用 addLayer

Name Type Description
map Map | null

地图。

setMaxResolution(maxResolution) inherited

设置图层可见的最大分辨率。

Name Type Description
maxResolution number

图层的最大分辨率。

setMaxZoom(maxZoom) inherited

设置图层可见的最大缩放(不含)。注意,图层可见性的缩放级别基于视图缩放级别,这可能与瓦片数据源的缩放级别不同。

Name Type Description
maxZoom number

图层的最大缩放。

setMinResolution(minResolution) inherited

设置图层可见的最小分辨率。

Name Type Description
minResolution number

图层的最小分辨率。

setMinZoom(minZoom) inherited

设置图层可见的最小缩放(含)。注意,图层可见性的缩放级别基于视图缩放级别,这可能与瓦片数据源的缩放级别不同。

Name Type Description
minZoom number

图层的最小缩放。

setOpacity(opacity) inherited

设置图层的不透明度,允许值范围为 0 到 1。

Name Type Description
opacity number

图层的不透明度。

setProperties(values, silent) inherited

设置一组键值对。 注意,这会更改任何现有属性并添加新属性(不会移除任何现有属性)。

Name Type Description
values Partial.<NoInfer.<Properties>>

值。

silent boolean | undefined

更新但不触发事件。

setSource(source) inherited

设置图层数据源。

Name Type Description
source SourceType | null

图层数据源。

设置要素的样式。可以是单个样式对象、样式数组,或接受要素和分辨率并返回样式数组的函数。如果设置为 null,图层没有样式(null 样式),因此只有具有自身样式的要素会在图层中渲染。不带参数调用 setStyle() 可重置为默认样式。有关默认样式的信息,请参见 ol/style/Style 模块

如果您的图层使用静态样式,可以使用 扁平样式 对象字面量,而不必使用 Style 和符号化构造函数(FillStroke 等):

vectorLayer.setStyle({
  "fill-color": "yellow",
  "stroke-color": "black",
  "stroke-width": 4
})
Name Type Description
style StyleLike | FlatStyleLike | null | undefined

图层样式。

setVisible(visible) inherited

设置图层的可见性(truefalse)。

Name Type Description
visible boolean

图层的可见性。

setZIndex(zindex) inherited

设置图层的 Z-index,用于在渲染前排列图层顺序。 默认 Z-index 为 0。

Name Type Description
zindex number

图层的 z-index。

un(type, listener) inherited

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

Name Type Description
type string | Array.<string>

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

listener function

监听器函数。

unset(key, silent) inherited

取消设置一个属性。

Name Type Description
key string

键名。

silent boolean | undefined

取消设置但不触发事件。