Layers
# 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
注意
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
# Joint3d.LayerGroup
Layer groups, grouping layers according to a certain logic to facilitate unified management
# example
let layerGroup = new Joint3d.LayerGroup('id')
viewer.addLayerGroup(layerGroup)
let layer = new Joint3d.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
# Joint3d.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 Joint3d.VectorLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
vectorLayer
- parameters
# Joint3d.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 Joint3d.DynamicLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
vectorLayer
- parameters
# Joint3d.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 Joint3d.PrimitiveLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
primitiveLayer
- parameters
# Joint3d.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 Joint3d.GroundPrimitiveLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
groundPrimitiveLayer
- parameters
# Joint3d.TilesetLayer
3dTiles layer, used to add 3dTiles model data, inherits fromLayer
# example
let layer = new Joint3d.TilesetLayer('id')
viewer.addLayer(layer)
# creation
constructor(id)
- parameters
{String} id
- returns
tilesetLayer
- parameters
# Joint3d.S3MLayer
Inherited from Layer
# example
let layer = new Joint3d.S3MLayer('id','**.scp')
viewer.addLayer(layer)
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
- returns
S3MLayer
- parameters
//options(optional)
{
"maxVisibleDistance":Number.MAX_VALUE,
"minVisibleDistance":0,
}
# Joint3d.GeoJsonLayer
GeoJson layer, used to load GeoJson data, inherited from Layer,
# example
let layer = new Joint3d.GeoJsonLayer('id', '**/**.geojson')
layer.eachOverlay((item) => {
// item is an entity,
if (item.polyline) {
//todo
let polyline = Joint3d.Polyline.fromEntity(item)
}
if (item.polygon) {
//todo
let polygon = Joint3d.Polygon.fromEntity(item)
}
if (item.billboard) {
//todo
let point = Joint3d.Point.fromEntity(item)
let divIcon = Joint3d.DivIcon.fromEntity(item)
let billboard = Joint3d.Billboard.fromEntity(item)
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String|Object} url
:A url or GeoJSON object to be loaded.{Object} options
- returns
geoJsonLayer
- parameters
//options(optional)
{
"sourceUri": '../...geojson',//Overrides the url to use for resolving relative links.
"markerSize": 3,//The default size of the map pin created for each point, in pixels.
"markerSymbol": "?",//The default symbol of the map pin created for each point. This can be any valid Maki identifier, any single character, or blank if no symbol is to be used.
"markerColor": Joint3d.Color.RED,//The default color of the map pin created for each point.
"stroke": Joint3d.Color.RED,//The default color of polylines and polygon outlines.
"strokeWidth": 3,//The default width of polylines and polygon outlines.
"fill": Joint3d.Color.RED,//The default color for polygon interiors.
"clampToGround": true,//true if we want the features clamped to the ground.
}
# methods
toVectorLayer()
- returns
vectorLayer
- returns
toModelLayer(modelUrl)
- parameters
{String} modelUrl
- returns
vectorLayer
- parameters
# Joint3d.TopoJsonLayer
TopoJson layer, used to load TopoJson data, inherited from Layer,
# example
let layer = new Joint3d.TopoJsonLayer('id', '**/**.geojson')
layer.eachOverlay((item) => {
// item is an entity,
if (item.polyline) {
//todo
let polyline = Joint3d.Polyline.fromEntity(item)
}
if (item.polygon) {
//todo
let polygon = Joint3d.Polygon.fromEntity(item)
}
if (item.billboard) {
//todo
let point = Joint3d.Point.fromEntity(item)
let divIcon = Joint3d.DivIcon.fromEntity(item)
let billboard = Joint3d.Billboard.fromEntity(item)
}
})
# creation
constructor(id,url,[options])
- parameters
{String} id
{String|Object} url
:A url or TopoJSON object to be loaded{Object} options
- returns
topoJsonLayer
- parameters
//options(optional)
{
"sourceUri": '../...geojson',//Overrides the url to use for resolving relative links.
"markerSize": 3,//The default size of the map pin created for each point, in pixels.
"markerSymbol": "?",//The default symbol of the map pin created for each point. This can be any valid Maki identifier, any single character, or blank if no symbol is to be used.
"markerColor": Joint3d.Color.RED,//The default color of the map pin created for each point.
"stroke": Joint3d.Color.RED,//The default color of polylines and polygon outlines.
"strokeWidth": 3,//The default width of polylines and polygon outlines.
"fill": Joint3d.Color.RED,//The default color for polygon interiors.
"clampToGround": true,//true if we want the features clamped to the ground.
}
# methods
toVectorLayer()
- returns
vectorLayer
- returns
toModelLayer(modelUrl)
- parameters
{String} modelUrl
- returns
vectorLayer
- parameters
# Joint3d.HtmlLayer
Html layer for loading DivIcon nodes, inherited from Layer,
# example
let layer = new Joint3d.HtmlLayer('dom')
viewer.addLayer(layer)
# creation
constructor(id)
Joint3d.HtmlLayer 构造函数
- parameters
{String} id
:图层唯一标识
- returns
htmlLayer
- parameters
# Joint3d.CzmlLayer
Czml layer for loading Czml data, inherited from Layer
# example
let layer = new Joint3d.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
- returns
czmlLayer
- parameters
//options(optional)
{
"sourceUri": '../...czml',//Overrides the url to use for resolving relative links.
}
# Joint3d.KmlLayer
Kml layer for loading Kml data, inherited from Layer
# example
let layer = new Joint3d.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
- returns
kmlLayer
- parameters
//options(optional)
{
"sourceUri": '../...kml',//Overrides the url to use for resolving relative links.
}
# Joint3d.GpxLayer
Gpx layer for loading gpx data, inherited from Layer
# example
let layer = new Joint3d.GpxLayer('id', '**/**.gpx')
# creation
constructor(id,url,[options])
- parameters
{String} id
{String} url
{Object} options
- returns
gpxLayer
- parameters
# Joint3d.ClusterLayer
Inherited from Layer
# example
let layer = new Joint3d.ClusterLayer('id')
viewer.addLayer(layer)
# creation
constructor(id,[options])
- parameters
{String} id
{Object} options
- returns
clusterLayer
- parameters
{
"size": 48,
"pixelRange": 40,
"gradient": {
"0.0001": Joint3d.Color.DEEPSKYBLUE,
"0.001": Joint3d.Color.GREEN,
"0.01": Joint3d.Color.ORANGE,
"0.1": Joint3d.Color.RED
},
"style": "circle", // pin,circle and clustering
"fontSize": 12,
"fontColor": Joint3d.Color.BLACK
}
# Joint3d.HeatLayer
Inherited from Layer
# example
let layer = new Joint3d.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
}
# Joint3d.WindLayer
Inherited from Layer
# example
let layer = new Joint3d.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