LayerRecord

LayerRecord

new LayerRecord(layerClass, apiRef, config, esriLayer, epsgLookup)

Source:

Create a layer record with the appropriate geoApi layer type. Layer config should be fully merged with all layer options defined (i.e. this constructor will not apply any defaults).

Parameters:
Name Type Description
layerClass Object

the ESRI api object for the layer

apiRef Object

object pointing to the geoApi. allows us to call other geoApi functions.

config Object

layer config values

esriLayer Object

an optional pre-constructed layer

epsgLookup function

an optional lookup function for EPSG codes (see geoService for signature)

Methods

_stateChange()

Source:

Handle a change in layer state

(private) _zoomToScaleSet(map, lods, zoomIn, scaleSet, zoomGraphic)

Source:

Figure out visibility scale and zoom to it. Will use layer minScale/maxScale and map levels of detail to determine scale boundaries.

Parameters:
Name Type Default Description
map Object

the map object

lods Array

level of details array for basemap

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

scaleSet Object

contains min and max scales for the layer.

zoomGraphic Boolean false

an optional value when zoomToScale is use to zoom to a graphic element; true used to zoom to a graphic element; false not used to zoom to a graphic element

addHoverListener()

Source:

Wire up mouse hover listener

addStateListener()

Source:

Wire up state change listener

bindEvents()

Source:

Attach event handlers to layer events

constructLayer()

Source:

Perform layer initialization tasks

findZoomScale(lods, scaleSet, zoomIn, zoomGraphic) → {Object}

Source:

Figure out visibility scale. Will use layer minScale/maxScale and map levels of detail to determine scale boundaries.

Parameters:
Name Type Default Description
lods Array

array of valid levels of detail for the map

scaleSet Object

contains .minScale and .maxScale for valid viewing scales

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

zoomGraphic Boolean false

an optional value when zoomToScale is use to zoom to a graphic element; true used to zoom to a graphic element; false not used to zoom to a graphic element

Returns:

a level of detail (lod) object for the appropriate scale to zoom to

Type
Object

getFeatureCount() → {Promise}

Source:

Returns the feature count

Returns:

resolves feature count

Type
Promise

getVisibleScales() → {Object}

Source:

Returns the visible scale values of the layer

Returns:

has properties .minScale and .maxScale

Type
Object

makeClickBuffer(point, map, tolerance) → {Object}

Source:

Create an extent centered around a point, that is appropriate for the current map scale.

Parameters:
Name Type Default Description
point Object

point on the map for extent center

map Object

map object the extent is relevant for

tolerance Integer 5

optional. distance in pixels from mouse point that qualifies as a hit. default is 5

Returns:

an extent of desired size and location

Type
Object

makeLayerConfig()

Source:

Creates an options object for the physical layer

onError()

Source:

Handles when the layer has an error

onMouseOut()

Source:

Handles when the mouse leaves a layer

onMouseOver()

Source:

Handles when the mouse enters a layer

onUpdateEnd()

Source:

Handles when the layer finishes updating

onUpdateStart()

Source:

Handles when the layer starts to update

removeHoverListener()

Source:

Remove a mouse hover listener

removeStateListener()

Source:

Remove a state change listener

setMapScale(map, lod, zoomIn) → {Promise}

Source:

Set map scale depending on zooming in or zooming out of layer visibility scale

Parameters:
Name Type Description
map Object

layer to zoom to scale to for feature layers; parent layer for dynamic layers

lod Object

scale object the map will be set to

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

Returns:

resolves after map is done changing its extent

Type
Promise

zoomToBoundary(map) → {Promise}

Source:

Zoom to layer boundary of the layer specified by layerId

Parameters:
Name Type Description
map Object

map object we want to execute the zoom on

Returns:

resolves when map is done zooming

Type
Promise

(private) zoomToExtent(map, extent) → {Promise}

Source:

Worker function to zoom the map to an extent of possibly

Parameters:
Name Type Description
map Object

map object we want to execute the zoom on

extent Object

map object we want to execute the zoom on

Returns:

resolves when map is done zooming

Type
Promise

LayerRecord

new LayerRecord()

Source:

Methods

_stateChange()

Source:

Handle a change in layer state

(private) _zoomToScaleSet(map, lods, zoomIn, scaleSet, zoomGraphic)

Source:

Figure out visibility scale and zoom to it. Will use layer minScale/maxScale and map levels of detail to determine scale boundaries.

Parameters:
Name Type Default Description
map Object

the map object

lods Array

level of details array for basemap

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

scaleSet Object

contains min and max scales for the layer.

zoomGraphic Boolean false

an optional value when zoomToScale is use to zoom to a graphic element; true used to zoom to a graphic element; false not used to zoom to a graphic element

addHoverListener()

Source:

Wire up mouse hover listener

addStateListener()

Source:

Wire up state change listener

bindEvents()

Source:

Attach event handlers to layer events

constructLayer()

Source:

Perform layer initialization tasks

findZoomScale(lods, scaleSet, zoomIn, zoomGraphic) → {Object}

Source:

Figure out visibility scale. Will use layer minScale/maxScale and map levels of detail to determine scale boundaries.

Parameters:
Name Type Default Description
lods Array

array of valid levels of detail for the map

scaleSet Object

contains .minScale and .maxScale for valid viewing scales

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

zoomGraphic Boolean false

an optional value when zoomToScale is use to zoom to a graphic element; true used to zoom to a graphic element; false not used to zoom to a graphic element

Returns:

a level of detail (lod) object for the appropriate scale to zoom to

Type
Object

getFeatureCount() → {Promise}

Source:

Returns the feature count

Returns:

resolves feature count

Type
Promise

getVisibleScales() → {Object}

Source:

Returns the visible scale values of the layer

Returns:

has properties .minScale and .maxScale

Type
Object

makeClickBuffer(point, map, tolerance) → {Object}

Source:

Create an extent centered around a point, that is appropriate for the current map scale.

Parameters:
Name Type Default Description
point Object

point on the map for extent center

map Object

map object the extent is relevant for

tolerance Integer 5

optional. distance in pixels from mouse point that qualifies as a hit. default is 5

Returns:

an extent of desired size and location

Type
Object

makeLayerConfig()

Source:

Creates an options object for the physical layer

onError()

Source:

Handles when the layer has an error

onMouseOut()

Source:

Handles when the mouse leaves a layer

onMouseOver()

Source:

Handles when the mouse enters a layer

onUpdateEnd()

Source:

Handles when the layer finishes updating

onUpdateStart()

Source:

Handles when the layer starts to update

removeHoverListener()

Source:

Remove a mouse hover listener

removeStateListener()

Source:

Remove a state change listener

setMapScale(map, lod, zoomIn) → {Promise}

Source:

Set map scale depending on zooming in or zooming out of layer visibility scale

Parameters:
Name Type Description
map Object

layer to zoom to scale to for feature layers; parent layer for dynamic layers

lod Object

scale object the map will be set to

zoomIn Boolean

the zoom to scale direction; true need to zoom in; false need to zoom out

Returns:

resolves after map is done changing its extent

Type
Promise

zoomToBoundary(map) → {Promise}

Source:

Zoom to layer boundary of the layer specified by layerId

Parameters:
Name Type Description
map Object

map object we want to execute the zoom on

Returns:

resolves when map is done zooming

Type
Promise

(private) zoomToExtent(map, extent) → {Promise}

Source:

Worker function to zoom the map to an extent of possibly

Parameters:
Name Type Description
map Object

map object we want to execute the zoom on

extent Object

map object we want to execute the zoom on

Returns:

resolves when map is done zooming

Type
Promise