# Layers 🌎
Categorize overlay elements with the same business logic or attributes for the same management
# Layer
The base class of the layer, its subclasses are instantiated and need to be added to the 3D scene in order to display all kinds of 3D data
WARNING
This basic class cannot be instantiated
# properties
{String} id
readonly
{Boolean} show
{Object} attr
:Business Properties{String} state
readonly
{String} type
readonly
# methods
addOverlay(overlay)
- parameters
{Overlay} overlay
- returns
this
- parameters
addOverlays(overlays)
- parameters
{Array<Overlay>} overlays
- returns
this
- parameters
removeOverlay(overlay)
- parameters
{Overlay} overlay
- returns
this
- parameters
getOverlay(overlayId)
- parameters
{String} overlayId
- returns
overlay
- parameters
getOverlayById(Id)
- parameters
{String} Id
- returns
overlay
- parameters
getOverlaysByAttr(attrName, attrVal)
- parameters
{String} attrName
{Object} attrVal
- returns
array
overlay.attr.name = 'test' let arr = layer.getOverlaysByAttr('name', 'test')
- parameters
getOverlays()
- returns
array
- returns
eachOverlay(method, context)
- parameters
{Function} method
:Callback function with parameters for overlay{Object} context
- returns
this
layer.eachOverlay((item) => {})
- parameters
clear()
- returns
this
- returns
remove()
- returns
this
- returns
addTo(viewer)
- parameters
{Viewer|World} viewer
:场景
- returns
this
- parameters
on(type, callback, context)
Event Subscription
- parameters
{Object} type
{Function} callback
{Object} context
- returns
this
- parameters
off(type, callback, context)
Event Unsubscribe
- parameters
{Object} type
{Function} callback
{Object} context
- returns
this
- parameters
fire(type,params)
- parameters
{Object} type
{Object} params
- returns
this
- parameters
# static methods
registerType(type)
- parameters
{String} type
- parameters
getLayerType()
- returns
string
- returns
# DC.LayerGroup
Layer groups, grouping layers according to a certain logic to facilitate unified management
# example
let layerGroup = new DC.LayerGroup('id')
viewer.addLayerGroup(layerGroup)
let layer = new DC.VectorLayer('layer')
layerGroup.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
layerGroup
- parameters
# properties
{String} id
readonly
{Boolean} show
{String} type
readonly
# methods
addLayer(layer)
- parameters
{Layer} layer
- returns
this
- parameters
removeLayer(layer)
- parameters
{Layer} layer
- returns
this
- parameters
getLayer(id)
- parameters
{String} id
- returns
layer
- parameters
getLayers()
- returns
layer
- returns
remove()
- returns
this
- returns
addTo(viewer)
- parameters
{Viewer|World} viewer
:场景
- returns
this
- parameters
# DC.VectorLayer
Vector layer, used to add all kinds of vector data (points, lines, surfaces, etc.), grouping vector data according to a certain logic to facilitate unified management, inherited from Layer
# example
let layer = new DC.VectorLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
vectorLayer
- parameters
# DC.DynamicLayer
Dynamic layer, used to add all kinds of dynamic data (billboard、model etc.), grouping vector data according to a certain logic to facilitate unified management, inherited from Layer
# example
let layer = new DC.DynamicLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
vectorLayer
- parameters
# DC.PrimitiveLayer
The primitive layer, which is used to add all kinds of primitive data, group the primitive data in a certain logic to facilitate unified management, inherited from Layer
# example
let layer = new DC.PrimitiveLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
primitiveLayer
- parameters
# DC.GroundPrimitiveLayer
The ground primitive layer, which is used to add all kinds of ground primitive data, group the ground primitive data in a certain logic to facilitate unified management, inherited from Layer
# example
let layer = new DC.GroundPrimitiveLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
groundPrimitiveLayer
- parameters
# DC.TilesetLayer
3dTiles layer, used to add 3dTiles model data, inherits fromLayer
# example
let layer = new DC.TilesetLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
tilesetLayer
- parameters
# DC.GeoJsonLayer
GeoJson layer, used to load GeoJson data, inherited from Layer,
# example
let layer = new DC.GeoJsonLayer('id', '**/**.geojson')
layer.eachOverlay((item) => {
// item is an entity,
if (item.polyline) {
//todo
let polyline = DC.Polyline.fromEntity(item)
}
if (item.polygon) {
//todo
let polygon = DC.Polygon.fromEntity(item)
}
if (item.billboard) {
//todo
let point = DC.Point.fromEntity(item)
let divIcon = DC.DivIcon.fromEntity(item)
let billboard = DC.Billboard.fromEntity(item)
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
GeoJsonDataSource (opens new window)
- returns
geoJsonLayer
- parameters
# methods
toVectorLayer()
- returns
vectorLayer
- returns
toModelLayer(modelUrl)
- parameters
{String} modelUrl
- returns
vectorLayer
- parameters
# DC.TopoJsonLayer
TopoJson layer, used to load TopoJson data, inherited from Layer,
# example
let layer = new DC.GeoJsonLayer('id', '**/**.geojson')
layer.eachOverlay((item) => {
// item is an entity,
if (item.polyline) {
//todo
let polyline = DC.Polyline.fromEntity(item)
}
if (item.polygon) {
//todo
let polygon = DC.Polygon.fromEntity(item)
}
if (item.billboard) {
//todo
let point = DC.Point.fromEntity(item)
let divIcon = DC.DivIcon.fromEntity(item)
let billboard = DC.Billboard.fromEntity(item)
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
GeoJsonDataSource (opens new window)
- returns
topoJsonLayer
- parameters
# methods
toVectorLayer()
- returns
vectorLayer
- returns
toModelLayer(modelUrl)
- parameters
{String} modelUrl
- returns
vectorLayer
- parameters
# DC.HtmlLayer
Html layer for loading DivIcon nodes, inherited from Layer,
# example
let layer = new DC.HtmlLayer('dom')
viewer.addLayer(layer)
# creation
constructor(id)
DC.HtmlLayer 构造函数
- parameters
{String} id
:图层唯一标识
- returns
htmlLayer
- parameters
# DC.CzmlLayer
Czml layer for loading Czml data, inherited from Layer
# example
let layer = new DC.CzmlLayer('id', '**/**.czml')
layer.eachOverlay((item) => {
if (item.polyline) {
//todo
}
if (item.polygon) {
//todo
}
if (item.billboard) {
//todo
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
CzmlDataSource (opens new window)
- returns
czmlLayer
- parameters
# DC.KmlLayer
Kml layer for loading Kml data, inherited from Layer
# example
let layer = new DC.KmlLayer('id', '**/**.kml')
layer.eachOverlay((item) => {
if (item.polyline) {
//todo
}
if (item.polygon) {
//todo
}
if (item.billboard) {
//todo
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
KmlDataSource (opens new window)
- returns
kmlLayer
- parameters
# DC.GpxLayer
Gpx layer for loading gpx data, inherited from Layer
# example
let layer = new DC.GpxLayer('id', '**/**.gpx')
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
GpxDataSource (opens new window)
- returns
gpxLayer
- parameters
# DC.ClusterLayer
Inherited from Layer
# example
let layer = new DC.ClusterLayer('id')
viewer.addLayer(layer)
# creation
constructor(id,[options])
- parameters
{String} id
{Object} options
- returns
clusterLayer
- parameters
{
"size": 48,
"pixelRange": 40,
"gradient": {
"0.0001": DC.Color.DEEPSKYBLUE,
"0.001": DC.Color.GREEN,
"0.01": DC.Color.ORANGE,
"0.1": DC.Color.RED
},
"style": "circle", // circle or clustering
"fontSize": 12,
"fontColor": DC.Color.BLACK
}
# DC.HeatLayer
Inherited from Layer
# example
let layer = new DC.HeatLayer('id')
viewer.addLayer(layer)
# creation
constructor(id,[options])
- parameters
{String} id
{Object} options
- returns
heatLayer
- parameters
//options(optional)
{
"gradient": {
"0.5": "green",
"0.6": "orange",
"0.95": "red"
},
"height": 0,
"radius": 30,
"useGround": false,
"classificationType": 2 // only use for "useGround" is true
}
# methods
setPositions(positions)
- parameters
{Array<Object>} positions
- returns
heatLayer
- parameters
{
"lng": "",
"lat": "",
"value": 1
}
addPosition(position)
- parameters
{Object} position
- returns
heatLayer
- parameters
{
"lng": "",
"lat": "",
"value": 1
}
# DC.WindLayer
Inherited from Layer
# example
let layer = new DC.WindLayer('id')
viewer.addLayer(layer)
# creation
constructor(id,[options])
- parameters
{String} id
{Object} options
- returns
windLayer
- parameters
//options(optional)
{
"globalAlpha": 0.9,
"lineWidth": 1,
"colorScale": "#fff",
"velocityScale": 1 / 25,
"maxAge": 90,
"paths": 800,
"frameRate": 20,
"useCoordsDraw": true,
"gpet": true
}
# methods
setData(data,[options])
- parameters
{Object} data
{Object} options
- returns
windLayer
- parameters
setOptions(options)
- parameters
{Object} options
- returns
windLayer
- parameters
# DC.S3MLayer
SInherited from Layer
# example
let layer = new DC.S3MLayer('id','**.scp')
viewer.addLayer(layer)
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
- returns
windLayer
- parameters
//options(optional)
{
"maxVisibleDistance":Number.MAX_VALUE,
"minVisibleDistance":0,
}