Class: Graticule

ol/layer/Graticule~Graticule


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

Layer that renders a grid for a coordinate system (currently only EPSG:4326 is supported). Note that the view projection must define both extent and worldExtent.

new Graticule(options)

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

A CSS class name to set to the layer element.

opacity number (defaults to 1)

Opacity (0, 1).

visible boolean (defaults to true)

Visibility.

extent Extent | undefined

The bounding extent for layer rendering. The layer will not be rendered outside of this extent.

zIndex number | undefined

The z-index for layer rendering. At rendering time, the layers will be ordered, first by Z-index and then by position. When undefined, a zIndex of 0 is assumed for layers that are added to the map's layers collection, or Infinity when the layer's setMap() method was used.

minResolution number | undefined

The minimum resolution (inclusive) at which this layer will be visible.

maxResolution number | undefined

The maximum resolution (exclusive) below which this layer will be visible.

minZoom number | undefined

The minimum view zoom level (exclusive) above which this layer will be visible.

maxZoom number | undefined

The maximum view zoom level (inclusive) at which this layer will be visible.

maxLines number (defaults to 100)

The maximum number of meridians and parallels from the center of the map. The default value of 100 means that at most 200 meridians and 200 parallels will be displayed. The default value is appropriate for conformal projections like Spherical Mercator. If you increase the value, more lines will be drawn and the drawing performance will decrease.

strokeStyle Stroke | undefined

The stroke style to use for drawing the graticule. If not provided, the following stroke will be used:

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

The target size of the graticule cells, in pixels.

showLabels boolean (defaults to false)

Render a label with the respective latitude/longitude for each graticule line.

lonLabelFormatter function | undefined

Label formatter for longitudes. This function is called with the longitude as argument, and should return a formatted string representing the longitude. By default, labels are formatted as degrees, minutes, seconds and hemisphere.

latLabelFormatter function | undefined

Label formatter for latitudes. This function is called with the latitude as argument, and should return a formatted string representing the latitude. By default, labels are formatted as degrees, minutes, seconds and hemisphere.

lonLabelPosition number (defaults to 0)

Longitude label position in fractions (0..1) of view extent. 0 means at the bottom of the viewport, 1 means at the top.

latLabelPosition number (defaults to 1)

Latitude label position in fractions (0..1) of view extent. 0 means at the left of the viewport, 1 means at the right.

lonLabelStyle Text | undefined

Longitude label text style. If not provided, the following style will be used:

new Text({
  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
  })
});

Note that the default's textBaseline configuration will not work well for lonLabelPosition configurations that position labels close to the top of the viewport.

latLabelStyle Text | undefined

Latitude label text style. If not provided, the following style will be used:

new Text({
  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
  })
});

Note that the default's textAlign configuration will not work well for latLabelPosition configurations that position labels close to the left of the viewport.

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])

Intervals (in degrees) for the graticule. Example to limit graticules to 30 and 10 degrees intervals:

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

Whether to repeat the graticule horizontally.

properties Object.<string, *> | undefined

Arbitrary observable properties. Can be accessed with #get() and #set().

Fires:
  • change (BaseEvent) - Generic change event. Triggered when the revision counter is increased.
  • change:extent (ObjectEvent)
  • change:maxResolution (ObjectEvent)
  • change:maxZoom (ObjectEvent)
  • change:minResolution (ObjectEvent)
  • change:minZoom (ObjectEvent)
  • change:opacity (ObjectEvent)
  • change:source (ObjectEvent)
  • change:visible (ObjectEvent)
  • change:zIndex (ObjectEvent)
  • error (BaseEvent) - Generic error event. Triggered when an error occurs.
  • postcompose (RenderEvent) - Triggered after layers are composed. When dispatched by the map, the event object will not have a context set. When dispatched by a layer, the event object will have a context set. Only WebGL layers currently dispatch this event.
  • postrender (RenderEvent) - Triggered after a layer is rendered.
  • precompose (RenderEvent) - Triggered before layers are composed. When dispatched by the map, the event object will not have a context set. When dispatched by a layer, the event object will have a context set. Only WebGL layers currently dispatch this event.
  • prerender (RenderEvent) - Triggered before a layer is rendered.
  • propertychange (ObjectEvent) - Triggered when a property is changed.
  • rendercomplete (RenderEvent) - Triggered when rendering is complete, i.e. all sources and tiles have finished loading for the current viewport, and all tiles are faded in. The event object will not have a context set.
  • sourceready (BaseEvent)

Extends

Observable Properties

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

The layer extent.

maxResolution number yes change:maxresolution

The maximum resolution of the layer.

maxZoom number yes change:maxzoom

The maximum zoom level of the layer.

minResolution number yes change:minresolution

The minimum resolution of the layer.

minZoom number yes change:minzoom

The minimum zoom level of the layer.

opacity number yes change:opacity

The opacity of the layer.

source SourceType | null yes change:source

The layer source (or null if not yet set).

visible boolean yes change:visible

The value of the visible property of the layer.

zIndex number | undefined yes change:zindex

The Z-index of the layer.

Methods

Increases the revision counter and dispatches a 'change' event.

dispatchEvent(event){boolean | undefined} inherited

Dispatches an event and calls all listeners listening for events of this type. The event parameter can either be a string or an Object with a type property.

Name Type Description
event BaseEvent | string

Event object.

Returns:
false if anyone called preventDefault on the event object or if any of the listeners returned false.

Gets a value.

Name Type Description
key string

Key name.

Returns:
Value.

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

Get the attributions of the source of this layer for the given view.

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View or FrameState. Only required when the layer is not added to a map.

Returns:
Attributions for this layer at the given view.

getExtent(){Extent | undefined} inherited

Return the extent of the layer or undefined if it will be visible regardless of extent.

Returns:
The layer extent.

getFeatures(pixel){Promise<Array<FeatureLike>>} inherited

Get the topmost feature that intersects the given pixel on the viewport. Returns a promise that resolves with an array of features. The array will either contain the topmost feature when a hit was detected, or it will be empty.

The hit detection algorithm used for this method is optimized for performance, but is less accurate than the one used in map.getFeaturesAtPixel(). Text is not considered, and icons are only represented by their bounding box instead of the exact image.

Name Type Description
pixel Pixel

Pixel.

Returns:
Promise that resolves with an array of features.

getKeys(){Array.<string>} inherited

Get a list of object property names.

Returns:
List of property names.

getMaxResolution(){number} inherited

Return the maximum resolution of the layer. Returns Infinity if the layer has no maximum resolution set.

Returns:
The maximum resolution of the layer.

getMaxZoom(){number} inherited

Return the maximum zoom level of the layer. Returns Infinity if the layer has no maximum zoom set.

Returns:
The maximum zoom level of the layer.

getMeridians(){Array<LineString>}

Get the list of meridians. Meridians are lines of equal longitude.

Returns:
The meridians.

getMinResolution(){number} inherited

Return the minimum resolution of the layer. Returns 0 if the layer has no minimum resolution set.

Returns:
The minimum resolution of the layer.

getMinZoom(){number} inherited

Return the minimum zoom level of the layer. Returns -Infinity if the layer has no minimum zoom set.

Returns:
The minimum zoom level of the layer.

getOpacity(){number} inherited

Return the opacity of the layer (between 0 and 1).

Returns:
The opacity of the layer.

getParallels(){Array<LineString>}

Get the list of parallels. Parallels are lines of equal latitude.

Returns:
The parallels.

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

Get an object of all property names and values.

Returns:
Object.

getRevision(){number} inherited

Get the version number for this object. Each time the object is modified, its version number will be incremented.

Returns:
Revision.

getSource(){SourceType | null} inherited

Get the layer source.

Returns:
The layer source (or null if not yet set).

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

Get the style for features. This returns whatever was passed to the style option at construction or to the setStyle method.

Returns:
Layer style.

getStyleFunction(){StyleFunction | undefined} inherited

Get the style function.

Returns:
Layer style function.

getVisible(){boolean} inherited

Return the value of this layer's visible property. To find out whether the layer is visible on a map, use isVisible() instead.

Returns:
The value of the visible property of the layer.

getZIndex(){number | undefined} inherited

Return the Z-index of the layer, which is used to order layers before rendering. Returns undefined if the layer is unmanaged.

Returns:
The Z-index of the layer.

isVisible(view){boolean} inherited

The layer is visible on the map view, i.e. within its min/max resolution or zoom and extent, not set to visible: false, and not inside a layer group that is set to visible: false.

Name Type Description
view View | ViewStateLayerStateExtent | undefined

View or FrameState. Only required when the layer is not added to a map.

Returns:
The layer is visible in the map view.

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

Listen for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

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

Listen once for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

Returns:
Unique key for the listener. If called with an array of event types as the first argument, the return will be an array of keys.

set(key, value, silent) inherited

Sets a value.

Name Type Description
key string

Key name.

value *

Value.

silent boolean | undefined

Update without triggering an event.

setExtent(extent) inherited

Set the extent at which the layer is visible. If undefined, the layer will be visible at all extents.

Name Type Description
extent Extent | undefined

The extent of the layer.

Sets the layer to be rendered on top of other layers on a map. The map will not manage this layer in its layers collection. This is useful for temporary layers. To remove an unmanaged layer from the map, use #setMap(null).

To add the layer to a map and have it managed by the map, use addLayer instead.

Name Type Description
map Map | null

Map.

setMaxResolution(maxResolution) inherited

Set the maximum resolution at which the layer is visible.

Name Type Description
maxResolution number

The maximum resolution of the layer.

setMaxZoom(maxZoom) inherited

Set the maximum zoom (exclusive) at which the layer is visible. Note that the zoom levels for layer visibility are based on the view zoom level, which may be different from a tile source zoom level.

Name Type Description
maxZoom number

The maximum zoom of the layer.

setMinResolution(minResolution) inherited

Set the minimum resolution at which the layer is visible.

Name Type Description
minResolution number

The minimum resolution of the layer.

setMinZoom(minZoom) inherited

Set the minimum zoom (inclusive) at which the layer is visible. Note that the zoom levels for layer visibility are based on the view zoom level, which may be different from a tile source zoom level.

Name Type Description
minZoom number

The minimum zoom of the layer.

setOpacity(opacity) inherited

Set the opacity of the layer, allowed values range from 0 to 1.

Name Type Description
opacity number

The opacity of the layer.

setProperties(values, silent) inherited

Sets a collection of key-value pairs. Note that this changes any existing properties and adds new ones (it does not remove any existing properties).

Name Type Description
values Object.<string, *>

Values.

silent boolean | undefined

Update without triggering an event.

setSource(source) inherited

Set the layer source.

Name Type Description
source SourceType | null

The layer source.

Set the style for features. This can be a single style object, an array of styles, or a function that takes a feature and resolution and returns an array of styles. If set to null, the layer has no style (a null style), so only features that have their own styles will be rendered in the layer. Call setStyle() without arguments to reset to the default style. See the ol/style/Style module for information on the default style.

If your layer has a static style, you can use flat style object literals instead of using the Style and symbolizer constructors (Fill, Stroke, etc.):

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

Layer style.

setVisible(visible) inherited

Set the visibility of the layer (true or false).

Name Type Description
visible boolean

The visibility of the layer.

setZIndex(zindex) inherited

Set Z-index of the layer, which is used to order layers before rendering. The default Z-index is 0.

Name Type Description
zindex number

The z-index of the layer.

un(type, listener) inherited

Unlisten for a certain type of event.

Name Type Description
type string | Array.<string>

The event type or array of event types.

listener function

The listener function.

unset(key, silent) inherited

Unsets a property.

Name Type Description
key string

Key name.

silent boolean | undefined

Unset without triggering an event.