new LayerRecord(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 |
---|---|---|
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
_fireEvent()
- Source:
Utility for triggering an event and giving it to the listeners
_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
createBbox()
- Source:
Generate a bounding box for the layer on the given map.
destroyBbox()
- Source:
Destroy bounding box
findZoomScale(lods, scaleSet, zoomIn, 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 |
---|---|---|---|
lods |
Integer | index of item we want |
|
scaleSet |
Array | level of detail definitions for the current map |
|
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 |
getFeatureCount() → {Promise}
- Source:
Returns the feature count
Returns:
resolves feature count
- Type
- Promise
getVisibleScales() → {Promise}
- Source:
Returns the visible scale values of the layer
Returns:
resolves in object properties .minScale and .maxScale
- Type
- Promise
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 a config snippet for the layer
onError()
- Source:
Handles when the layer has an error
onLoad()
- Source:
Handles when the layer finishes loading
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