Constructor
new MapAsset()
- Since:
- Source:
Extends
Members
defaults :object
Default attributes for MapAsset models
Type:
Properties:
Name |
Type |
Attributes |
Default |
Description |
type |
'Cesium3DTileset'
|
'BingMapsImageryProvider'
|
'IonImageryProvider'
|
'WebMapTileServiceImageryProvider'
|
'TileMapServiceImageryProvider'
|
'CesiumTerrainProvider'
|
|
|
The format of the data. Must be one of the supported types. |
label |
string
|
|
|
A user friendly name for this asset, to be displayed
in a map. |
icon |
string
|
<optional>
|
|
A PID for an SVG saved as a dataObject, or an SVG
string. The SVG will be used as an icon that will be displayed next to the label
in the layers list. It should be an SVG file that has no fills, borders, or styles
set on it (since the icon will be shaded dynamically by the maps CSS using a fill
attribute). It must use a viewbox property rather than a height and width. When
not specified, a layer icon is used as default. |
description |
string
|
<optional>
|
''
|
A brief description about the asset, e.g.
which area it covers, the resolution, etc. |
attribution |
string
|
<optional>
|
''
|
A credit or attribution to display along
with this map resource. |
moreInfoLink |
string
|
<optional>
|
''
|
A link to show in a map where a user can
find more information about this resource. |
downloadLink |
string
|
<optional>
|
''
|
A link to show in a map where a user can
go to download the source data. |
id |
string
|
<optional>
|
''
|
If this asset's data is archived in a DataONE
repository, the ID of the data package. |
selected |
boolean
|
<optional>
|
false
|
Set to true when this asset has been
selected by the user in the layer list. |
opacity |
number
|
<optional>
|
1
|
A number between 0 and 1 indicating the
opacity of the layer on the map, with 0 representing fully transparent and 1
representing fully opaque. This applies to raster (imagery) and vector assets,
not to terrain assets. |
saturation |
number
|
<optional>
|
1
|
A number that indicates the saturation of
the layer on the map. Less than 1.0 reduces the saturation while greater than
1.0 increases it. This applies to raster (imagery) only. |
visible |
boolean
|
<optional>
|
true
|
Set to true if the layer is visible on the
map, false if it is hidden. This applies to raster (imagery) and vector assets,
not to terrain assets. |
configuredVisibility |
boolean
|
<optional>
|
true
|
Tracks the original
visibility value according to the portal configuration and ignoring any
search query parameters in the URL which can affect the layer's initial
visibility. |
originalVisibility |
boolean
|
<optional>
|
true
|
Tracks the original
visibility value according to search query parameters and portal
configuration. |
colorPalette |
AssetColorPalette
|
<optional>
|
|
The color or colors mapped to
attributes of this asset. This applies to raster/imagery and vector assets. For
imagery, the colorPalette will be used to create a legend. For vector assets
(e.g. 3Dtilesets), it will also be used to style the features. |
featureTemplate |
MapConfig#FeatureTemplate
|
<optional>
|
|
Configuration for
content and layout of the Feature Info panel - the panel that shows information
about a selected feature from a vector asset (FeatureInfoView). |
featureType |
Cesium.Entity
|
Cesium.Cesium3DTilesetFeature
|
<optional>
|
|
For vector
and 3d tileset assets, the object type that cesium uses to represent features
from the asset. Null for imagery and terrain assets. |
customProperties |
MapConfig#CustomProperties
|
<optional>
|
|
Configuration that
allows for the definition of custom feature properties, potentially based on
other properties. For example, a custom property could be a formatted version
of an existing date property. |
notification |
MapConfig#Notification
|
<optional>
|
|
A custom badge and message to
display about the layer in the Layer list. For example, this could highlight
the layer if it is new, give a warning if they layer is under development, etc. |
status |
'ready'
|
'error'
|
null
|
<optional>
|
null
|
Set to 'ready' when the
resource is loaded and ready to be rendered in a map view. Set to 'error' when
the asset is not supported, or there was a problem requesting the resource. |
statusDetails |
string
|
<optional>
|
null
|
Any further details about the status,
especially when there was an error. |
hideInLayerList |
boolean
|
<optional>
|
false
|
Set to true to hide this asset
from the layer list. |
showOpacitySlider |
boolean
|
<optional>
|
true
|
Set to true to show opacity slider
for the layer. |
clickFeatureAction |
"showDetails"
|
"zoom"
|
<optional>
|
null
|
The action to take when a user clicks on a feature on the layer. The
available options are "showDetails" (show the feature details in the
sidebar) or "zoom" (zoom to the feature's location). |
- Source:
type :string
The name of this type of model
Type:
- Source:
Methods
addCustomProperties(properties) → {object}
Given a set of properties from a Feature from this Map Asset model, add any
custom properties to the properties object and return it.
Parameters:
Name |
Type |
Description |
properties |
object
|
A set of key-value pairs representing the existing
properties of a feature from this asset. |
- Since:
- Source:
Returns:
The properties object with any custom properties added.
-
Type
-
object
containsFeature(feature) → {boolean}
Given a feature object from a Feature model, checks if it is part of the
selectedFeatures collection. See featureObject property from
Feature#defaults. For vector and 3d tile models only.
Parameters:
Name |
Type |
Description |
feature |
*
|
An object that a Map widget uses to represent this feature
in the map, e.g. a Cesium.Entity or a Cesium.Cesium3DTileFeature |
- Since:
- Source:
Returns:
Returns true if the given feature is part of the
selectedFeatures collection in this asset
-
Type
-
boolean
featureIsSelected(feature) → {boolean}
Given a feature object from a Feature model, checks if it is part of the
selectedFeatures collection. See featureObject property from
Feature#defaults. For vector and 3d tile models only.
Parameters:
Name |
Type |
Description |
feature |
*
|
An object that a Map widget uses to represent this feature
in the map, e.g. a Cesium.Entity or a Cesium.Cesium3DTileFeature |
- Source:
Returns:
Returns true if the given feature is part of the
selectedFeatures collection in this asset
-
Type
-
boolean
featureIsVisible(properties) → {boolean}
This function checks whether a feature from the MapAsset is visible on the map
based on the properties of the feature and the MapAsset's filter settings.
Parameters:
Name |
Type |
Description |
properties |
object
|
The properties of the feature to be filtered. (See
the 'properties' attribute of Feature#defaults.) |
- Source:
Returns:
Returns true if the feature passes all the filters, or if
there are no filters set for this MapAsset. Returns false if the feature fails
any of the filters.
-
Type
-
boolean
Given a definition for a new date property, and the properties that already
exist on a specific feature, returns a new string with the formatted date.
Parameters:
Name |
Type |
Description |
config |
MapConfig#CustomDateProperty
|
An object that defines the new
date property to create |
properties |
object
|
key-value pairs representing existing properties in
a Feature |
- Since:
- Source:
Returns:
The value for the new date property, formatted as defined by
config, for the given feature
-
Type
-
string
For a given set of Feature properties and a definition for a new sting
property, returns the value of the custom property. Note that since only static
strings are supported so far, this function essentially just returns the value
of config.value. This function exists to allow support of dynamic strings in
the future (e.g. combining strings from existing properties)
Parameters:
- Since:
- Source:
Returns:
The new string for the given Feature property
-
Type
-
string
getCesiumOptions() → {object}
Get the asset config's cesiumOptions, if it has any. This will return
a copy of the cesiumOptions object, so that changes made to the
returned object will not affect the original cesiumOptions object.
- Since:
- Source:
Returns:
A copy of the cesiumOptions object, or null if there
are no cesiumOptions.
-
Type
-
object
Given properties of a Feature model from this MapAsset, returns the color
associated with that feature.
Parameters:
Name |
Type |
Description |
properties |
object
|
The properties of the feature to get the color for;
An object containing key-value mapping of property names to properties. (See
the 'properties' attribute of Feature#defaults.) |
- Source:
Returns:
The color associated with the given set of
properties.
-
Type
-
AssetColor#Color
getFeatureAttributes(feature) → {object}
Given a feature object from a Feature model, returns the attributes
needed to create a Feature model. For vector and 3d tile models only.
Parameters:
Name |
Type |
Description |
feature |
*
|
An object that a Map widget uses to represent this feature
in the map, e.g. a Cesium.Entity or a Cesium.Cesium3DTileFeature |
- Source:
Returns:
An object with properties, mapAsset, featureID, featureObject,
and label properties. Returns null if the feature is not the correct type
for this asset model.
-
Type
-
object
handleError()
When the asset can't be loaded, hide it from the map and show an error.
- Since:
- Source:
initialize(assetConfigopt)
Executed when a new MapAsset model is created.
Parameters:
Name |
Type |
Attributes |
Description |
assetConfig |
MapConfig#MapAssetConfig
|
<optional>
|
The initial values of the
attributes, which will be set on the model. |
- Source:
isVisible() → {boolean}
Checks that the visible attribute is set to true and that the opacity attribute
is greater than zero. If both conditions are met, returns true.
- Source:
Returns:
Returns true if the MapAsset has opacity > 0 and is visible.
-
Type
-
boolean
listenToSelectedFeatures()
Update the appearance of features from this asset when they are
selected or deselected in the map widget.
- Since:
- Source:
resetStatus()
Resets the Map Asset's status and statusDetails attributes to their default
values.
- Since:
- Source:
setError(error)
Set an error status and message for this asset.
Parameters:
Name |
Type |
Description |
error |
object
|
string
|
An error object with a status code
attribute or or string with details about the error. |
- Since:
- Source:
setListeners()
Set all of the listeners for this model
- Since:
- Source:
setReady()
Set a ready status for this asset.
- Since:
- Source:
show()
Make sure the layer is visible. Sets visibility to true if false, and sets
opacity to 0.5 if it's less than 0.05.
- Source:
updateIcon(icon)
Sanitizes an SVG string and updates the model's 'icon' attribute the sanitized
string. Also sets the 'iconStatus' attribute to 'success'.
Parameters:
Name |
Type |
Description |
icon |
string
|
An SVG string to use for the MapAsset icon |
- Source:
usesFeatureType(feature) → {boolean}
Checks if a feature from the map (a Cesium object) is the type of
feature that this map asset model contains. For example, if a
Cesium3DTilesetFeature is passed to this function, this function
will return true if it is a Cesium3DTileset model, and false if it
is a CesiumVectorData model.
Parameters:
Name |
Type |
Description |
feature |
Cesium.Cesium3DTilesetFeature
|
Cesium.Entity
|
feature to be checked. |
- Since:
- Source:
Returns:
true if the feature is an instance of the feature
type set on the asset model, false otherwise.
-
Type
-
boolean
whenReady() → {Promise}
Checks if the asset information has been fetched and is ready to use.
- Source:
Returns:
Returns a promise that resolves to this model when ready.
-
Type
-
Promise
zoomTo(target)
Indicate that the map widget should navigate to a given target from
this MapAsset.
Parameters:
- Since:
- Source: