效果动画 🌎

在三维场景中添加动态要素,让场景能够动起来,更加贴近真实世界的运行

SzMap.Weather

天气效果

example

let weather = new SzMap.Weather(viewer)

creation

  • constructor(viewer)

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
    • 返回值 weather

properties

Rain

雨天效果

example

weather.rain.enable = true
weather.rain.speed = 2

properties

  • {Boolean} enable:是否启用
  • {Number} speed:速度

Snow

雪天效果

example

weather.snow.enable = true
weather.snow.speed = 2

properties

  • {Boolean} enable:是否启用
  • {Number} speed:速度

Fog

雾天效果

example

weather.fog.enable = true
weather.fog.fogColor = SzMap.Color.BLACK

properties

  • {Boolean} enable:是否启用
  • {Color} fogColor:颜色,
  • {Object} fogByDistance:距离可见,默认: { near: 10, nearValue: 0, far: 2000, farValue: 1.0 }

Cloud

云效果

example

weather.cloud.enable = true
weather.cloud.rotateAmount = 0.02

properties

  • {Boolean} enable:是否启用
  • {Number} rotateAmount:移动增量,可为负数

SzMap.Effect

效果类

example

let effect = new SzMap.Effect(viewer)

creation

  • constructor(viewer)

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
    • 返回值 effect

properties

BlackAndWhite

黑白效果

example

effect.blackAndWhite.enable = true

properties

  • {Boolean} enable:是否启用
  • {Number} gradations:强度
  • {Array} selected:设置后期作用的覆盖物

Bloom

泛光效果

example

effect.bloom.enable = true

properties

  • {Boolean} enable:是否启用
  • {Number} contrast:对比度
  • {Number} brightness:亮度
  • {Number} glowOnly:只发光
  • {Number} delta:Delta
  • {Number} sigma:Sigma
  • {Number} stepSize:StepSize
  • {Array} selected:设置后期作用的覆盖物

Brightness

明亮效果

example

effect.brightness.enable = true

properties

  • {Boolean} enable:是否启用
  • {Number} intensity:强度
  • {Array} selected:设置后期作用的覆盖物

DepthOfField

景深效果

example

effect.depthOfField.enable = true

properties

  • {Boolean} enable:是否启用
  • {Number}} focalDistance:焦距
  • {Number} delta:Delta
  • {Number} sigma:Sigma
  • {Number} stepSize:StepSize
  • {Array} selected:设置后期作用的覆盖物

LensFlare

镜头耀斑效果

example

effect.lensFlare.enable = true

properties

  • {Boolean} enable:是否启用
  • {Number}} intensity:强度
  • {Number} distortion:扭曲度
  • {Number} dirtAmount:分散度
  • {Number} haloWidth:光圈宽度
  • {Array} selected:设置后期作用的覆盖物

Night

夜视效果

example

effect.night.enable = true

properties

  • {Boolean} enable:是否启用
  • {Array} selected:设置后期作用的覆盖物

Silhouette

描边效果

example

effect.silhouette.enable = true

properties

  • {Boolean} enable:是否启用
  • {Color} color:颜色
  • {Number} length:长度
  • {Array} selected:设置后期作用的覆盖物

Animation

场景动画基类

WARNING

该类无法实例化

methods

  • start()

    开始动画

    • 返回值 this
  • stop()

    停止动画

    • 返回值 this

SzMap.AroundPoint

点位环绕,继承于Animation

example

let aroundPoint = new SzMap.AroundPoint(viewer, '120.121, 31.12')
aroundPoint.start()

creation

  • constructor(viewer,position,[options])

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
      • {Position|String|Array} position:点位
      • {Object} options:options
    • 返回值 aroundPoint
//options(optional)
{
  "heading": 0, //偏移角度
  "pitch": 0, //翻转角度
  "range": 0, //距离
  "duration": 0, //间隔,单位:秒,当此值大于0时,callback才会生效
  "callback": null, //完成回调函数
  "context": null //回调函数执行上下文
}

SzMap.AroundView

相机环绕,继承于Animation

example

let aroundView = new SzMap.AroundView(viewer)
aroundView.start()

creation

  • constructor(viewer,[options])

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
      • {Object} options:options
    • 返回值 aroundView
//options(optional)
{
  "heading": 0, //偏移角度
  "pitch": 0, //俯仰角度
  "roll": 0, //翻转角度
  "duration": 0, //间隔,单位:秒,当此值大于0时,callback才会生效
  "callback": null, //完成回调函数
  "context": null //回调函数执行上下文
}

SzMap.CircleScan

扫描圈,继承于Animation

example

let circleScan = new SzMap.CircleScan(viewer, '120, 20', 200)
circleScan.start()

creation

  • constructor(viewer,position,radius,options)

    构造函数

    • 参数
      • {Viewer} viewer:场景
      • {SzMap.Position} position:位置
      • {Number} radius:半径
      • {Object} options:属性
    • 返回值 circleScan
// 属性参数(optional)
{
  "color": SzMap.Color.BLUE, // 颜色
  "speed": 5 // 速度
}

SzMap.Flying

定点巡航,继承于Animation

example

let flying = new SzMap.Flying(viewer)
flying.positions = ['121.234,21.212,0,-29', '121.435,21.212,0,-29']
flying.start()

creation

  • constructor(viewer,[options])

    构造函数

    • 参数
      • {Viewer} viewer:场景
      • {Object} options:options
    • 返回值 flying
// 属性参数(optional)
{
  "loop": false, //是否循环,
  "dwellTime": 3, //驻留时间
  "callback": null //回调函数
}

properties

  • {Array} positions:点位
  • {Array} durations:每个点位的飞行间隔时间,当数组长度为 1 时,每个间隔时间相同,如果不为 1 时,长度必须和点位长度相等

methods

  • start()

    开始动画

    • 返回值 this
  • pause()

    暂停

    • 返回值 this
  • restore()

    继续

    • 返回值 this

SzMap.GlobeRotate

地球自转,继承于Animation

example

let globeRotate = new SzMap.GlobeRotate(viewer, {
  duration: 5,
  speed: 1000,
  callback: () => {},
})
globeRotate.start()

creation

  • constructor(viewer,[options])

    构造函数

    • 参数
      • {SzMap.Viewer} viewer:3D 场景
      • {Object} options:options
    • 返回值 globeRotate
//options(optional)
{
  "speed": 12 * 1000, //速度
  "duration": 0, //持续时间,当此值大于0时,callback才会生效
  "callback": null, //执行完成的回调函数
  "context": null //回调函数执行上下文
}

SzMap.RadarScan

雷达扫描,继承于Animation

example

let radarScan = new SzMap.RadarScan(viewer, '120, 20', 200)
radarScan.start()

creation

  • constructor(viewer,position,radius,options)

    构造函数

    • 参数
      • {Viewer} viewer:场景
      • {SzMap.Position} position:位置
      • {Number} radius:半径
      • {Object} options:属性
    • 返回值 radarScan
// 属性参数(optional)
{
  "color": SzMap.Color.BLUE, // 颜色
  "speed": 5 // 速度
}

SzMap.RoamingController

漫游控制

example

let rc = new SzMap.RoamingController(viewer)

creation

  • constructor(viewer)

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
    • 返回值 roamingController

methods

  • addPath(path)

    添加路径

    • 参数
      • {RoamingPath} path:路径
    • 返回值 this
  • addPaths(paths)

    添加路径数组

    • 参数
      • {Array<RoamingPath>} paths:路径数组
    • 返回值 this
  • removePath(path)

    移除路径

    • 参数
      • {RoamingPath} path:路径
    • 返回值 path
  • getPath(id)

    根据唯一标识获取路径

    • 参数
      • {String} id:唯一标识
    • 返回值 path
  • getPaths()

    获取所有路径

    • 返回值 array
  • activate(path, viewOption)

    激活漫游

    • 参数
      • {RoamingPath} path:路径
      • {String} viewOption:漫游参数
    • 返回值 this
// 漫游参数(可选)
{
  "pitch": 0, // 俯仰角
  "range": 1000 // 距离
}
  • deactivate()

    结束漫游

    • 返回值 this
  • clear()

    移除所有路径

    • 返回值 this

SzMap.RoamingPath

漫游路径

example

let path = new SzMap.RoamingPath('120.121,32.1213;121.132,32.1213', 20)
rc.addPath(path)

creation

  • constructor(positions, duration, [pathMode])

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
      • {Number} duration:间隔时间,单位:秒
      • {String} pathMode:路径模式:speed(匀速) / time(等时)
    • 返回值 roamingPath

properties

  • {String} pathId:唯一标识 readonly
  • {String} id:业务唯一标识
  • {String|Array<Position|Number|String>} positions:坐标串
  • {Number} duration:间隔时间,单位:秒
  • {String} pathMode:路径模式:speed(匀速) / time(等时)
  • {String} state:状态 readonly

SzMap.KeyboardRoaming

键盘漫游

example

let kr = new SzMap.KeyboardRoaming(viewer)
kr.enable = true

creation

  • constructor(viewer)

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
    • 返回值 keyboardRoaming

properties

  • {Boolean} enable:是否启用
  • {Number} moveRate:移动变化率:100
  • {Number} rotateRate:旋转变化率:0.01

SzMap.TrackController

历史轨迹控制

example

let tc = new SzMap.TrackController(viewer)

creation

  • constructor(viewer)

    构造函数

    • 参数
      • {Viewer} viewer:3D 场景
    • 返回值 trackController

methods

  • addTrack(track)

    添加轨迹

    • 参数
      • {Track} track:轨迹
    • 返回值 this
  • addTracks(tracks)

    添加轨迹数组

    • 参数
      • {Array<Track>} tracks:轨迹数组
    • 返回值 this
  • removeTrack(track)

    移除轨迹

    • 参数
      • {Track} track:轨迹
    • 返回值 path
  • getTrack(id)

    根据业务唯一标识获取轨迹

    • 参数
      • {String} id:业务唯一标识
    • 返回值 track
  • getTracks()

    获取所有轨迹

    • 返回值 array
  • play()

    播放

    • 返回值 this
  • pause()

    暂停

    • 返回值 this
  • restore()

    继续播放

    • 返回值 this
  • viewTrack(track, viewOption)

    跟踪某一条路径

    • 参数
      • {Track} track:路径
      • {String} viewOption:配置信息
    • 返回值 this
// 属性参数(可选)
{
  "mode": null, // 视角模式:SzMap.TrackViewMode
  "pitch": 0, // 俯仰角,第一视角有效
  "range": 1000 // 距离
}
  • releaseTrack(track)

    取消跟踪某一条轨迹

    • 参数
      • {Track} track:路径
    • 返回值 this
  • clear()

    移除所有路径

    • 返回值 this

SzMap.Track

轨迹

example

let tc = new SzMap.TrackController(viewer)
let track = new SzMap.Track('120.121,32.1213;121.132,32.1213', 20)
tc.addTrack(track)

creation

  • constructor(positions, duration, [callback], [options])

    构造函数

    • 参数
      • {String|Array<Position|Number|String|Object>} positions:坐标串
      • {Number} duration:间隔时间,单位:秒
      • {Function} callback:每一个点位到达回调函数,参数有:position(位置信息),isLast(是否为最后的点位)
      • {Object} options: 配置参数
    • 返回值 track
//配置参数(可选)
{
  "clampToGround": false, // 是否贴地
  "clampToTileset": false, // 是否贴物
  "interpolationType": "Linear", // 插值类型:Linear、Hermite、Lagrange
  "interpolationDegree": 2, // 插值度数
  "endDelayTime": 0.5,// 结束时间延长时间,单位:秒,
  "headingOffset":0,//旋转偏移
}

properties

  • {String} trackId:唯一标识 readonly
  • {String} id:业务唯一标识
  • {String|Array<Position|Number|String|Object>} positions:坐标串
  • {Number} duration:间隔时间,单位:秒
  • {Date} startTime:开始时间,设置后会独立于控制器的开始时间
  • {String} state:状态 readonly

methods

  • addPosition(position,duration)

    添加点位

    • 参数
      • {Position|Array|String|Object} position:点位
      • {Number} duration:间隔,单位:秒
    • 返回值 this
  • setModel(modelUrl,style)

    设置模型

    • 参数
      • {String} modelPath:模型路径
      • {Object} style:样式,详情参考:SzMap.Model
    • 返回值 this
  • setBillboard(icon,style)

    设置图标

    • 参数
      • {String} icon:图标路径
      • {Object} style:样式,参考:SzMap.Billboard
    • 返回值 this
  • setLabel(text,style)

    设置文本

    • 参数
      • {String} text:文本
      • {Object} style:样式,参考:SzMap.Label
    • 返回值 this
  • setPath(visible,style)

    设置路径

    • 参数
      • {Boolean}} visible:是否可见
      • {Object} style:样式,参考:SzMap.Polyline
    • 返回值 this
Last Updated:
Contributors: zzc7400