Methods

# addHeatmapLayer(map, layer) → {HeatmapLayer}

Takes a vector layer and returns a heatmap layer
Parameters:
Name Type Description
map Object Openlayers map object
layer Layer A vector layer that will be used to create heatmap layer
Since:
  • 1.13.0

View Source LayerPanel/LayerPanelActionHeatmap/utils.js, line 15

HeatmapLayer
HeatmapLayer

# addMovementListener(map, callback) → {Array.<ol.EventsKey>}

Bind multiple move listeners with the same callback
Parameters:
Name Type Description
map ol.Map The openlayers map to which the events are bound
callback function The callback invoked when a `change:size`, `change:resolution` or a `change:center` event was fired
Since:
  • 0.2.0

View Source Popup/utils.js, line 58

Array of openlayers event keys for unsetting listener events (use with removeMovementListener)
Array.<ol.EventsKey>

# addSelectInteraction(map, name, opts) → {Object}

Create a new openlayers select interaction with default styling and add the vector layer to the map
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
name String identifier to set as _ol_kit_origin on the interaction
opts Object select interaction opts
Since:
  • 1.11.0

View Source Map/utils.js, line 213

object - { layer: {ol.layer.Vector} https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html, select: {ol.interaction.Select} https://openlayers.org/en/latest/apidoc/module-ol_interaction_Select-Select.html }
Object

# addVectorLayer(map, featuresopt) → {Layer}

Takes an array of vector features and creates a new layer
Parameters:
Name Type Attributes Description
map Object Openlayers map object
features Array.<Object> <optional>
An array of the features to be included in the new layer
Since:
  • 1.13.0

View Source LayerPanel/LayerPanelActionMerge/utils.js, line 17

VectorLayer
Layer

# calculateViewPadding(map, opts) → {Array}

Calculate bounding box of elements on page with _popup_boundary class and returns padding array excluding area of these elements
Parameters:
Name Type Description
map olMap An instance of an openlayers map
opts Object

View Source Popup/utils.js, line 318

- Array of view padding pixel numbers: [top, right, bottom, left]
Array

# centerAndZoom(map, opts) → {Array}

Update the map location to provided zoom & x, y coordinates
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
opts Object include x, y, & zoom options
Since:
  • 0.1.0

View Source Map/utils.js, line 155

Coordinates used to update the map
Array

# connectToContext(component) → {Component}

A wrapper utility function designed to automatically pass down provider conntext as props from the Provider component
Parameters:
Name Type Description
component Component A React component you want wrapped
Since:
  • 1.0.0

View Source Provider/utils.js, line 16

A wrapped React component which will automatically be passed a reference to provider context
Component

# convertFeatureToWkt(feature, decimalPlacesopt) → {String}

Convert a feature to a WKT string
Parameters:
Name Type Attributes Description
feature Object An ol/Feature
decimalPlaces Number <optional>
the number of decimal places in the output coordinates

View Source Popup/PopupActions/PopupActionCopyWkt/utils.js, line 11

The WKT string of the feature passed
String

# convertFileToFeatures(fileopt, mapopt)

Converts the given file into an array of features
Parameters:
Name Type Attributes Description
file Blob <optional>
the file to be converted. Accepts, 'kmz', 'kml', 'geojson', 'wkt', 'csv', 'zip', and 'json' file types.
map olMap <optional>
the openlayers map
Since:
  • 7.0.0

View Source LayerPanel/LayerPanelActionImport/utils.js, line 47

# convertFileToLayer(fileopt, mapopt)

Converts the given file into a layer
Parameters:
Name Type Attributes Description
file Blob <optional>
the file to be converted. Accepts, 'kmz', 'kml', 'geojson', 'wkt', 'csv', 'zip', and 'json' file types.
map olMap <optional>
the openlayers map

View Source LayerPanel/LayerPanelActionImport/utils.js, line 26

# convertSvgToPDFTemplate(svg, inputs, opts) → {Object}

Take an svg template and list of inputs and convert it into a fully loaded template to print a PDF
Parameters:
Name Type Description
svg String Stringified svg used as a template for creating pdf
inputs Array.<Object> Array of inputs that fill in the svg elements required: { id: string, type: 'text' | 'image', content: canvas | string, uri: string }
opts Object Non template options: { fileName: string }
Since:
  • 1.12.0

View Source Pdf/utils.js, line 14

Template ready to be used by `printPDF`
Object

# convertXYtoLatLong(map, x, y) → {Object}

Convert an XY pair to lat/long
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
x Number the x coordinate
y Number the x coordinate
Since:
  • 0.16.0

View Source Map/utils.js, line 175

An object containing a `longitude` and `latitude` property
Object

# copyTextToClipboard(text)

Copy text to the clipboard
Parameters:
Name Type Description
text String The string to copy to the system clipboard

View Source Popup/PopupActions/PopupActionCopyWkt/utils.js, line 26

# copyWktToClipbard(feature, decimalPlacesopt)

Given an ol/Feature, copy its WKT string to the system clipboard
Parameters:
Name Type Attributes Description
feature Object An ol/Feature
decimalPlaces Number <optional>
the number of decimal places in the output coordinates

View Source Popup/PopupActions/PopupActionCopyWkt/utils.js, line 42

# createMap(optsopt) → {ol.Map}

Create an openlayers map
Parameters:
Name Type Attributes Description
opts Object <optional>
Object of optional params
isSyncableMap String <optional>
flag to return a SyncableMap class for multi-map implementations
target String <optional>
html id tag that map will into which the map will render
Since:
  • 0.1.0

View Source Map/utils.js, line 68

A newly constructed ol.Map
ol.Map

# createProject(map) → {object}

A utility that takes map state and outputs it as a project file
Parameters:
Name Type Description
map Map a reference to openlayers map
Since:
  • 1.9.0

View Source Project/utils.js, line 21

- object in ol-kit project format
object

# createSelectInteraction(opts) → {ol.interaction.Select}

Create a new openlayers select interaction with default styling
Parameters:
Name Type Description
opts Object select interaction opts
Since:
  • 0.2.0

View Source Map/utils.js, line 195

https://openlayers.org/en/latest/apidoc/module-ol_interaction_Select-Select.html
ol.interaction.Select

# exportFeatures(typeopt, featuresopt)

Exports the passed features as a file of the desired type.
Parameters:
Name Type Attributes Description
type String <optional>
The desired file type ('shp' or 'kml').
features Array.<Object> <optional>
An array of the features to be included in the generated file.
Since:
  • 0.9.0

View Source LayerPanel/LayerPanelActionExport/utils.js, line 34

# getExtentForFeatures(featureList) → {ol.Extent}

Calculates a map extent that would make all features in the list visible.
Parameters:
Name Type Description
featureList Array.<ol.Feature> List of Open Layers features

View Source Map/utils.js, line 267

Map extent
ol.Extent

# getLayersAndFeaturesForEvent(event, optsopt) → {Array.<Promise>}

Get all features for a given click event
Parameters:
Name Type Attributes Default Description
event Object An object with a `map` and `pixel` property
map ol.Map The openlayers map where the layer exists
pixel Array.<Number> An array consisting of `x` and `y` pixel locations
opts Object <optional>
Object of optional params
hitTolerance Number <optional>
3 Additional area around features that is clickable to select them
Since:
  • 0.2.0

View Source Popup/utils.js, line 175

An array of promises, each of which resolve to an object `{ layer, features }`
Array.<Promise>

# getPixelValue(layer, event) → {ol.Feature}

Creates a new feature with point geometry at the location of the pixel and attributes describing the pixel's value
Parameters:
Name Type Description
layer ol.Layer The openlayers layer
event Object An object with a `map` and `pixel` property
Since:
  • 1.17.0

View Source Popup/utils.js, line 24

An openlayers feature with point geometry at the location of the pixel and attributes describing the pixel's value
ol.Feature

# getPopupPositionFromFeatures(event, features, optsopt) → {Object}

Get the best position for the popup to be displayed given features
Parameters:
Name Type Attributes Default Description
event Object An object with an `event` and `pixel` property
map ol.Map The openlayers map where the layer exists
pixel Array.<Number> An array consisting of `x` and `y` pixel locations
features Array.<ol.Feature> An array of features around which the popup should position
opts Object <optional>
popupHeight Number <optional>
280 The height of the popup
popupWidth Number <optional>
280 The width of the popup
arrowHeight Number <optional>
16 The height of the popup's arrow/pointer
navbarOffset Number <optional>
55 The height of the navbar
viewPadding Array.<Number> <optional>
[0, 0, 0, 0] An array of padding to apply to the best fit logic in top, right, bottom, left order

View Source Popup/utils.js, line 229

An object containing the arrow/pointer position, pixel location & if the popup will fit properly within the viewport
Object

# getSelectInteraction(map, name) → {Object}

Find a select interaction on the map by name (defaults to internal select created by ol-kit if name not passed)
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
name String identifier to find _ol_kit_origin on the select interaction
Since:
  • 1.11.0

View Source Map/utils.js, line 237

object - { layer: {ol.layer.Vector} https://openlayers.org/en/latest/apidoc/module-ol_layer_Vector-VectorLayer.html, select: {ol.interaction.Select} https://openlayers.org/en/latest/apidoc/module-ol_interaction_Select-Select.html }
Object

# getStyledFeatures(layers, resolutionopt)

Generate a 2D array of features paired to a style representing how they are currently styled on the map. OpenLayers Features will inherit the style set on their parent layer if their own style is undefined. This Function helps resolve the style that is actually being used to render the feature on the map.
Parameters:
Name Type Attributes Description
layers Array.<Object> The Openlayers Layers you want to get the features from.
resolution Number <optional>
The map's current resolution.

View Source Draw/utils.js, line 377

# immediateEditStyle(opts, feature, resolution) → {object}

Style an ol/Feature with orange circle vertices, a blue outline, an area label, and a perimeter length label. Can be used with individual features as a style function or call it directly to get a style object for use with `vectorContext.drawFeature`
Parameters:
Name Type Description
opts object The config object
feature ol/Feature The feature you want to style
resolution number the resolution of the map

View Source FeatureEditor/styles.js, line 223

The style object for the passed feature
object

# loadBasemapLayer(map, basemapIdentifier)

A utility that takes a string identifier and updates the basemap
Parameters:
Name Type Description
map Map a reference to openlayers map
basemapIdentifier basemapIdentifier string identifier to update the basemap
Since:
  • 1.9.0

View Source Basemaps/utils.js, line 18

# loadDataLayer(map, query, optsopt) → {ol.Layer}

Async fetch for data layers - supports geojson, kml
Parameters:
Name Type Attributes Description
map ol.Map reference to the openlayer map object
query String url string pointing to geojson/kml file or the geojson/kml file itself
opts Object <optional>
Object of optional params
addToMap Boolean <optional>
opt out of adding the layer to the map (default true)
style String <optional>
style object used to apply styles to the layer
title String <optional>
set custom title on layer (default: "Data Layer")
Since:
  • 0.8.0

View Source DataLayers/utils.js, line 56

Promise that resolves with the newly created data layer
ol.Layer

# loadProject(map) → {object}

A utility that accepts an ol-kit project file and updates the map state
Parameters:
Name Type Description
map Map a reference to openlayers map
Since:
  • 1.9.0

View Source Project/utils.js, line 77

- object in ol-kit project format
object

# mergeLayerFeatures(VectorLayer) → {Feature}

Takes an array of vector features and creates a new merged geometry
Parameters:
Name Type Description
VectorLayer Layer VectorLayer with features to be merged
Since:
  • 1.17.0

View Source LayerPanel/LayerPanelActionMergeFeatures/utils.js, line 97

olFeature
Feature

# printPDFTemplate(template, opts) → {Object}

Build a PDF from a template and print locally
Parameters:
Name Type Description
template Object { elements, dimensions, orientation, unit, fileName }
opts Object PDF options: { hideLogo: false }
Since:
  • 1.12.0

View Source Pdf/utils.js, line 88

Object

# removeMovementListener(map, keys)

Remove list of event keys
Parameters:
Name Type Description
map ol.Map The openlayers map to which the events are bound
keys Array remove the listeners via` an array of event keys
Since:
  • 0.2.0

View Source Popup/utils.js, line 82

# sanitizeProperties(properties) → {Object}

Remove blacklisted attributes (geom & geometry & _ol_kit*) from an object
Parameters:
Name Type Description
properties Object A feature attribute object
Since:
  • 0.11.0

View Source Popup/utils.js, line 365

A filtered attribute object
Object

# setMapExtent(map, extent)

Sets the map extent to the given values.
Parameters:
Name Type Description
map ol.Map Open Layers map
extent ol.Extent New extent definition

View Source Map/utils.js, line 255

# styleText(opts, feature, resolution, opts) → {object}

Style ol/features
Parameters:
Name Type Description
opts object The config object
feature ol/Feature The feature you want to style
resolution number the resolution of the map
opts object The config object

View Source Draw/utils.js, line 498

The style object for the passed feature
object

# styleText(opts, feature, resolution) → {object}

Style ol/Features
Parameters:
Name Type Description
opts object The config object
feature ol/Feature The feature you want to style
resolution number the resolution of the map

View Source FeatureEditor/styles.js, line 32

The style object for the passed feature
object

# syncViewEvents(viewsopt)

Sync multiple openlayers
Parameters:
Name Type Attributes Description
views Object <optional>
Array of openlayers views
Since:
  • 1.7.0

View Source MultiMapManager/utils.js, line 10

# updateMapFromUrl(map, viewParam) → {Promise}

Update the map view with location coordinates, zoom level & rotation from the url
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
viewParam String the query param that will be read to update the map position
Since:
  • 0.1.0

View Source Map/utils.js, line 125

Resolved with transformed center coords after the map has been updated by url info
Promise

# updateUrlFromMap(map, viewParam) → {String}

Update the url with map location coordinates, zoom level & rotation
Parameters:
Name Type Description
map ol.Map reference to the openlayers map object
viewParam String the query param that will be used to update the url with view info
Since:
  • 0.1.0

View Source Map/utils.js, line 102

The url that is set within the function
String

# VectorLayer(optsopt)

Parameters:
Name Type Attributes Description
opts Object <optional>
Object of optional params for olLayerVector
Since:
  • 0.1.0

View Source classes/VectorLayer.js, line 20

# VectorTileLayer(optsopt)

Parameters:
Name Type Attributes Description
opts Object <optional>
Object of optional params for olLayerVector
Since:
  • 1.4.0

View Source classes/VectorTileLayer.js, line 20