# 1. Mars3D的版本
Mars3D的版本号包括三个部分,比如 v3.2.1版本中,主版本号是 3,大版本号是 2,小版本号是 1
版本号是根据本次发布中包含的变更的级别进行递增的。
主版本(v3):包含重要的新特性和架构性调整,在升级时会需要由开发人员提供少量的协助才能完成。当升级到新的主版本时,你可能需要运行升级脚本、重构代码、运行其它测试以及学习新的API。
大版本(v3.2):包含新增功能和API优化重构,大版本其中大部分功能是向后兼容的,只有少部分特性是不兼容的(更新日志会说明弃用的API),参考说明或示例简单调整即可。
小版本(v3.2.1):包含新的小型特性优化,bug修改等。 小版本是完全向后兼容的,在升级期间,不需要开发人员提供协助。【授权版时:无论哪种授权方式,小版本均是免费更新】
# 2. 更新日志
如果您需要查看 详细所有日志,可以访问更新日志完整版
# 3.8 - 2024-8-20
# 新增 🌟
- 新增BillboardIndicator可拖拽面板矢量对象
- 重写HeatLayer热力图图层类,支持全球渲染及缩放重新渲染
- PolylineEntity增加snakeAnimation流动生长(贪吃蛇)动画参数及相关方法
- 绘制线面对象,增加drawShowMeasure参数显示测量结果辅助标绘
- 瓦片图层支持自定义切片的加载,增加origin、resolutions、zOffset等相关相关参数
- 新增LineDashArrow虚线箭头线材质
# 优化 💪
- Image2材质增加rotation旋转角度属性
- TilesetLayer及矢量数据增加matrixMove、matrixRotate参数支持编辑时自定义轴参数
- WindLayer重写适配最新版Cesium(WebGL2渲染)
- ParticleSystem增加visibleDepth属性可以控制不被遮挡
- geojson数据加载时增加可自动转为Primitive渲染的toPrimitive参数
- SatelliteSensor、RectSensor、ConicSensor增加slices参数并默认值改为最小,可以自定义传值优化效率和效果,优化SatelliteSensor在不动时的渲染效率
- OutlineEffect增加closeOnClick参数
- PointVisibility、ConeVisibility 增加visibleAreaColor、hiddenAreaColor颜色自定义参数
- mars3d-cesium库升级到v1.121 (opens new window)
- turf库升级到v7.1 (opens new window)
# v3.7 - 2024-1-15
# 新增 🌟
- Map整理了构造参数,增加method参数,并将之前chinaCRS、lang、templateValues、token参数移动到method下
- 新增 DivPlane、JammingRadar、FixedJammingRadar、DivBillboardPrimitive矢量对象
- 新增CubeView立方体视图控件
- 增加 TilesetColorCorrection 模型单独颜色校正对象
- 新增 标绘 顶点吸附 功能,通过 map.onlyVertexPosition开启关闭
- 新增 DivIndicator 固定指向且可拖动面板的DIV示例
- 矢量数据支持从Ajax后端动态读取属性和点状坐标的动态属性
- 矢量数据clampToGround: true属性将同时支持贴模型和地形,HeightReference属性可以设置单独贴模型或贴地形等。
- Map、TilesetLayer类增加 getHeight 贴地高度计算方法
- 重写了所有图层的flyTo方法
- 增加tif、excel、csv文件的本地数据读取示例
# 优化 💪
- mars3d-cesium库升级到v1.120 (opens new window)
- map的scene构造参数增加了backgroundType、backgroundImage、availabilityEnabled、logarithmicDepthBuffer参数
- Map增加readyPromise属性
- 优化map.getCurrentOptions方法导出相关参数。
- 增加PolyUtil.getMapExtentPositions方法,并对map.getExtent方法优化重写
- GroupLayer的layers参数支持图层对象传入
- TilesetLayer增加assetId、ionAccessToken、ionServer参数
- I3SLayer增加position、rotation、scale等参数
- WMS图层、ArcGIS瓦片图层,在clampToTileset贴模型时单击拾取事件的支持。
- 矢量图层聚合图标回调增加相关对象的返回,并优化示例增加大数据异步生成
- GraphicLayer矢量图层聚合增加clustering.minChanged参数
- GraphicLayer增加loadJSON方法
- GeoJsonLayer图层mask支持全球遮掩、增加filter数据筛选方法参数
- TerrainLayer增加terrainType参数,优化参数结构
- MapVLayer图层增加聚合点的支持
- ArcGisTileLayer增加token参数
- 图层popupOptions参数中增加showNull可以控制显示空值字段
- GraticuleLayer增加steps属性,和setOptions更新steps的支持。
- WMS等瓦片图层卷帘时单击事件和Popup的不可见区域不触发
- WmtsLayer增加getFeatureInfoFormat参数
- 线面矢量对象编辑,增加hasMidPoint参数控制是否显示中间点
- 矢量数据高亮highlight参数增加enabled子参数,可以进行启用的控制
- primitive矢量对象增加zIndex参数和属性
- entity.startFlicker方法增加step参数
- 聚合点增加clampToTileset参数
- ModelPrimitive增加startFlicker、stopFlicker方法
- DivGraphic增加addClass、removeClass方法
- HeightTriangleMeasure三角测量结果增加角度值
- DoubleSidedPlane支持穿透显示对面的其他矢量对象
- FixedRoute的change事件增加index_original原始index返回值
- VolumeDepthMeasure支持传入历史计算的值,可以固化测量结果,避免地形精度和视角剔除带来的测量结果每次不同
- PolylinePrimitive增加style.depthFailMaterial参数
- DivLightPoint增加billboard参数
- SectionMeasure剖面增加minDistance参数
- Sector增加对动态属性坐标的支持
- ModelEntity、ModelPrimitive增加splitDirection属性
- 矢量数据增加matrixMoveRadius参数用于右键菜单中按轴移动编辑
- 矢量数据toJSON方法优化
- HeightMeasure结果默认按高度下降为负数、上升是正数显示
- ReflectionWater增加farDistance和farColor参数
- EllipsoidEntity的scanPlane动画改为与时序无关
- PolyGradient材质增加isInner参数
- 所有highlight相关类中增加highlight.enabled子参数
- TerrainClip的开挖对象取区域内最低点高度为开挖高度的相对0米
- TilesetClip增加clipOutSide参数和属性
- TerrainClip增加czm参数
- TerrainUplift地形抬升增加抬升动画方法movingAnimation
- GroundSkyBox增加maxHeight参数
- RainEffect增加maxHeight参数
- 优化TerrainClip、TerrainPlanClip 地形开挖功能,并TerrainPlanClip支持按线切分看地形切割
- LimitHeight限高分析增加diffHeight参数
- Shadows 增加darkness参数
- Tooltip的显示的方向自适应
- Popup增加toggle参数,控制是否打开状态下再次单击时关闭Popup
- HomeButton、FullscreenButton、NavigationHelpButton控件增加icon参数
- Compass控件增加clickToNorth参数
- Animation控件存在时Timeline自动避让
- NavigationHelpButton控件增加firstOpen、localStorageName参数
- 重写了PointUtil.getHeight、PointUtil.getSurfacePosition方法,相关参数有调整
- 重写mars3d.PolyUtil.getRectangle方法,增加最大高度返回值
- Video3D增加distanceDisplayCondition参数
- Sightline通视分析add方法增加objectsToExclude参数
- VolumeDepthMeasure的maxHeight改变含义,会影响挖方量
- 三角测量结果进行错位展示文本信息
- 文本材质、CanvasLabelEntity 增加\n换行和字间距参数
# v3.6 - 2023-8-4
# 新增 🌟
- map增加thing参数,支持地形压平 等thing对象通过参数初始化传入,并增加ThingType、ThingUtil 类
- 新增PointLight点光源 (opens new window)、SpotLight聚光灯 (opens new window)、VolumeCloud气象云三维体 (opens new window)、PointVisibility (opens new window)、BrushLineEntity (opens new window)、GroupGraphic (opens new window)等矢量对象
- 新增TilesetShake地震模拟 (opens new window)、ViewDome开敞度分析 (opens new window)、SkylineBody天际线体 (opens new window)等模型相关分析
- 瓦片图层新增clampToTileset贴模型功能
- 新增对BillboardPrimitive (opens new window)、PointPrimitive (opens new window)、LabelPrimitive (opens new window)对象的聚合支持
- 新增LineCross (opens new window)十字形间隔线材质
- 新增 ColorCorrectionEffect 颜色校正 (opens new window) 特效
- 对矢量数据、Layer图层类、Effect特性类 增加availability时序显示控制参数和属性
- Primitive矢量数据增加了readyPromise (opens new window)属性
- 所有合并渲染的Primitive大数据对象增加style.label参数
- TilesetClip (opens new window)、TilesetFlat (opens new window) 、TilesetFlood (opens new window)模型压平、裁剪、淹没 增加precise参数,支持掩膜模式压平裁剪,支持大量数据
- 增加 ColorRamp 色带类
- 增加 EditPointType 类,DrawUtil类新增setEditPointStyle、setAllEditPointStyle方法,支持完全每种编辑点的矢量对象类型和样式
# 优化 💪
- mars3d-cesium库升级到v1.112 (opens new window)
- Map的terrain参数支持是否默认启用地形开挖、压平等配置
- Map增加isInView方法
- 暴露mars3d.edit.*相关编辑类,方便外部继承使用
- TdtDmLayer (opens new window)暴露label等参数
- ImageLayer (opens new window)增加加载完成回调
- CanvasWindLayer (opens new window)增加colors根据风速渲染不同颜色
- TilesetLayer (opens new window)的marsJzwStyle支持object类型参数,可传入内置shader的3个高度变量。增加editUpAxis轴标识参数。增加scaleX、scaleY、scaleZ参数 #I8F5ZG (opens new window)
- GeoJsonLayer (opens new window)、WfsLayer (opens new window) 等图层增加simplify参数
- TdtLayer图层增加url配置服务前缀
- GraphicLayer 增加drawAddEventType 绘制参数,增加drawAddEventType 绘制时增加点的事件参数
- CzmGeoJsonLayer的flyTo方法改为一致的定位机制
- 整理矢量对象的setHeight、addHeight参数代码,之前在部分情况存在重复addHeight或未addHeight的情况
- 点状Entity对象在GraphicLayer的drawEndEventType (opens new window)参数下支持右键结束标绘 #I8EULQ (opens new window)
- entity.startFlicker方法color颜色默认值改为自身颜色
- BillboardEntity (opens new window)增加distanceDisplayPoint等参数
- ModelEntity (opens new window)的moveTo方法增加orientation参数
- GaodeRoute (opens new window)更新高德服务api至v5
- ContourLine (opens new window)增加minHeight、maxHeight属性,可动态更改
- SnowEffect (opens new window)增加maxHeight参数,增加scale粒子大小参数
- 重新设计了lang (opens new window)多语言相关,支持自定义多语言
- Image2 (opens new window)材质增加repeat参数
- PolylineCombine (opens new window)等合并渲染对象支持openPopup方法
- DivGraphic (opens new window)的pointerEvents参数优先级改为最高
- WaterCombine (opens new window)、PolygonCombine (opens new window)等对象增加offsetHeight属性和setOffsetHeight方法
- Water (opens new window)、PolygonPrimitive (opens new window)等对象增加offsetHeight平移指定偏移高度参数
- xyz图层url中增加scale、origin模版(用于使用超图的瓦片底图服务)
- ReflectionWater对象增加animationSpeed、specularIntensity参数
- PolygonCombine 挖洞面 支持Cartesian3和LngLatPoint格式坐标
- Video3D 初始化options参数增加play是否播放
- 线面对象绘制时支持updateDrawPosition参数来自定义控制修改绘制的坐标
- 矢量数据toGeoJSON方法增加options的导入导出
- 增加pixelOffsetScaleByDistance参数的导入导出json支持
- 增加mars3d.PointUtil.getPropertyIndex方法
- measure.point增加popup自定义回调参数 #I8MKv3 (opens new window)
- 重写了 TerrainClip (opens new window)、FloodByMaterial (opens new window)、ContourLine (opens new window)地形相关分析类
- 优化 TilesetClip (opens new window)、TilesetFlat (opens new window) 、TilesetFlood (opens new window) 模型压平、裁剪、淹没支持部分特殊模型。
- ToolButton (opens new window)的title参数支持function回调方法
- control (opens new window)控件类insertBefore参数支持配置div的id
- LocationBar (opens new window)的fps改为模版配置,并可从locationData取fps值
- Timeline (opens new window)增加zoom是否可以缩放参数
- Compass双击事件定位视角改为目标中心点不动
# v3.5 - 2023-03-17
# 新增 🌟
- Cesium升级至v1.1XX版本,改用WebGL2进行渲染,并三维模型相关渲染代码进行了重写
- 增加了 I3SLayer 三维模型图层
- 增加了TerrainUplift (opens new window)地形抬升、TerrainFlat (opens new window)地形压平功能
- 增加了PitEntity (opens new window)、 ThickWall (opens new window)、 DoubleSidedPlane (opens new window)、 VolumeDepthMeasure (opens new window)、 ReflectionWater (opens new window)、VideoPrimitive 等矢量对象
- 增加了BaseLayerPicker (opens new window)、Animation (opens new window)、FullscreenButton (opens new window) 等11个Cesium原生控件的包装类,便于统一控制
- 新增了LineThreeDash 矢量数据材质
- 新增日照分析阴影率分析
- 重写了Satellite (opens new window)矢量对象(使用继承于Route类的方式),并支持通过标绘机制中设置样式等
- 重写了TilesetClip、TilesetFlat、TilesetFlood类(仅支持Cesium v1.97+的新架构方式)
# 优化 💪
- mars3d-cesium库升级到v1.107 (opens new window)
- Map参数中支持scene.skyBox传参
- map增加pauseCameraViewList、proceedCameraViewList、setLangText方法
- 增加map.mouseEvent.pickImageryLayerFeatures方法,可以手动模拟了单击WMS等图层
- Map增加changeBasemap事件
- GraphicGroupLayer保存和读取geojson时记录图层id等属性
- GraphicLayer图层data数据支持symbol设置
- MapboxLayer图层增加token参数
- BingLayer、GeeLayer、IonLayer对1.107 (opens new window)版本的支持修复
- WMS、ArcGisLayer图层增加featureIndex参数
- ImageLayer支持EPSG3857坐标系
- 矢量图层startDraw方法增加validDrawPosition外部自定义校验坐标参数
- 矢量线面对象在切换是否贴地时编辑点的更新处理
- 矢量数据增加hasEditContextMenu参数
- PathEntity的model增加mergeOrientation等参数
- 量算对象toJSON方法增加量算结果的导出
- 曲线增加sharpness参数
- LabelPrimitive对象clampToGround贴地时,切换2D时的显示优化
- PointPrimitive支持clampToGround贴地属性
- BillboardPrimitive 支持 alignedAxis 属性参数
- Route、FixedRoute增加 autoMiddleDynamicPosition 参数
- Route的change事件的优化
- State增加ADD状态
- Video3D支持动态属性坐标
- Video2D的编辑点优化
- Pit的围合墙部分改为普通wall
- 优化经纬网文本的展示
- 优化鼠标移动事件对FPS的影响
- FrustumPrimitive增加支持camera参数
- TilesetPlanClip 增加对平面的旋转角度属性
- GraphicLayer矢量图层增加drawEndEventType参数,支持标绘自定义结束事件
- TilesetLayer增加luminanceAtZenith亮度属性
- SnowCoverEffect (opens new window)增加layer参数,可以对3dtiles模型单独生效
- QueryArcServer的query方法增加parameters参数
- Control控件加click触发事件
- ClockAnimate与DistanceLegend或Timeline同时存在时的css自动处理改为兼容外部参数
- Compass控件兼容移动端交互操作,增加最大最小俯仰角参数
- OverviewMap鹰眼图增加center属性和change事件等
- Animation控件增加ticks参数
- MapSplit图层自动置顶
- 重写了PolyUtil.centerOfMass取中心点算法
# v3.4 - 2022-7-15
# 新增 🌟
- 对 矢量数据 做了一轮非常大的整改,包括功能一致性、渲染效率等
- 矢量图层增加全局透明度调整方法,支持调整图层内矢量数据的透明度
- primitive等矢量对象,新增绘制、编辑、数据导入导出等功能
- 矢量数据标绘增加坐标沿XYZ轴平移图上编辑,模型新增沿XYZ轴平移图上编辑和旋转角度图上编辑
- 所有矢量数据采用统一的调试面板,可进行标绘、编辑、数据导入导出、数据量测试等操作,增加dblClick双击事件
- 矢量对象新增 materialOptions 参数,对材质参数优化包一层,并对所有有属性材质进行补全,且公开所有属性
- 增加BusineDataLayer业务数据图层
- 新增MapCompare地图对比控件
- 新增了BloomTargetEffect (opens new window)对象泛光特效
- 新增MatrixMove (opens new window)矩阵图上平移编辑类、MatrixRotate (opens new window)矩阵图上旋转编辑类
- 新增开发了Route (opens new window)、FixedRoute (opens new window)飞行漫游路线类,FixedRoute增加heading、pitch参数支持
- 新增LineDotDash点划线材质
- 新增 天地图POI 查询类
- Map增加setOptions方法,相关Control控件对象和Effect特效对象的setOptions方法支持,所有图层的setOptions方法重构和优化,优化对象的导入导出。
# 优化 💪
- mars3d-cesium库升级到v1.96 (opens new window)
- Map构造参数geocoder区分原生cesium和高德POI查询
- map.expImage支持高宽同时指定,自动裁剪中间区域
- map增加onlyPickTerrainPosition属性,增加zoomIn/zoomOut方法缩放事件zoom以及mandatory是否强制更新参数,增加mouse.transform参数,来兼容body被缩放的情况
- 图层增加flyToOptions参数
- TilesetLayer中增加clip、flat、flood、planClip参数,增加hasEdit属性,对无transform不支持编辑的模型做了判断,增加position.alt_offset参数,增加highlight.uniqueKey参数,可以按指定字段进行对应相关构件的整体高亮
- CzmGeoJsonLayer、CzmlLayer图层增加process方法
- CzmlLayer增加autoUpdateClock参数
- HeatLayer图层增加arcDirection参数,增加image类型渲染方式
- CanvasWindLayer增加worker参数支持多线程
- WFS图层改为等Map加载基本完成再去请求加载
- 公开矢量数据编辑对象的startMoveMatrix、stopMoveMatrix、stopRotateMatrix、stopRotateMatrix等方法
- 右键菜单支持绑定方法名字符串
- ParticleSystem (opens new window) 增加了heading、pitch、roll等参数,并优化了渲染效率
- PolylineVolume新增thicknes、slices、startAngle等参数,提供更多外观样式,对象增加vscale、hscale参数
- DivLightPoint 支持label的属性字段名称配置
- LineFlow材质增加mixt参数
- 文本材质增加speed参数,不为0时呈现文字滚动效果
- 流动线材质speed参数传O可以保持不流动
- Sector增加noCenter参数
- BloomTargetEffect增加objectsToExclude参数
- OutlineEffect、BloomTargetEffect的selected支持传入Primitive对象
- Route增加了clampToTileset等参数
- Route、FixedRoute对象的setOptions方法支持
- FixedRoute增加updateClock参数,多路线时可禁用内部对时钟的处理,增加interpolationAlgorithm参数
- FixedRoute中重复点的特殊处理
- FlatBillboard增加translucent参数
- 贴地线面量算增加exact快速概略的计算模式参数
- 长度量算增加万米单位
- 量算对象的默认传入坐标的直接显示,量算结果显示支持divGraphic等对象展示
- Video2D支持动态属性和setStyle更新url
- Primitive点对象传modelMatrix时兼容允许编辑
- Combine对象的setStyle方法优化
- ParticleSystem增加complete事件
- 优化CircleWave材质执行效率
- 面的中心点计算改用truf处理
- 动态点对象addDynamicPosition方法对长时间无数据时的优化
- 贴模型相关计算中矢量图层内部自动处理objectsToExclude属性
- 支持对聚合对象的事件监听和获取对应聚合列表数据
- 标绘绘制时增加hasDrawDelPoint参数,控制是否开启右击删除点
- Entity对象的setStyle方法中对setHeight和addHeight的支持
- RectangleEntity回调坐标对象的编辑支持
- PathEntity禁用编辑
- WallEntity增加fixedTop参数
- FontBillboardEntity 增加iconPadding参数
- PolygonEntity、CircleEntity、RectangleEntity支持clampToGround参数的动态更新
- Popup对象的depthTest参数默认值改为false
- Timeline控件增加maxSpan最大刻度跨度参数、优化时间文本展示
- ToolButton控件增加setIcon方法修改图标
- LocationBar视角变化后更新坐标为中心点坐标
- OverviewMap鹰眼底图禁用右键
- 优化MapCompare持续漫游时的联动平滑度
- 优化MapSplit控件图层参数,支持构造参数传入和数组传入
- 重写了示例中矢量数据style样式属性编辑弹窗
- 重写了TilesetFlat (opens new window) 压平功能,优化对部分模型进行支持
# v3.3 - 2022-4-18
# 新增 🌟
- 重写了Vue版功能示例和基础项目的UI;原生JS版功能示例和基础依赖库升级(如jquery升级至 v3+) ;新增发布了React版功能示例及基础项目
- 新增了 CanvasLabelEntity 文本点对象
- 新增了 TilesetBoxClip (opens new window) 模型盒子裁剪类、GroupThing 组合类、 MultipleSkyBox 多天空盒类
- 新增了多个材质对象
- 所有图层增加 readyPromise 初始化完成承诺属性
- 增加对 3dtiles 模型的卷帘对比支持
- GeoJsonLayer增加chinaCRS参数,用于自动纠偏或加偏数据
- 增加了 flv 视频协议、红蓝对抗演习 等示例
# 优化 💪
- mars3d-cesium库升级到v1.95 (opens new window)
- 增加主库和插件库中第 3 方依赖 JS 库未引入时的错误提示,方便排查问题
- Map 增加 token 参数,方便外部更新覆盖,增加 mars3d.Token.updateAll 方法并更新 Token (opens new window) 所有默认值
- 对 GeoJsonLayer 增加支持加载 topojson 数据
- 优化 ArcGisLayer,不依赖 Cesium 修改,改用内部 ArcGisImageryProvider 实现
- HeatLayer公开max和min参数
- GeoJsonLayer反选遮罩层flyTo优化
- 热力图支持动态平滑变化的处理
- WFS图层增加update事件和isLoading
- 支持直接对 EchartsLayer、MapVLayer 绑定单击等事件
- Primitive矢量对象的show属性更新机制优化
- ModelPrimitive模型类 增加 noPitchRoll 参数
- ModelCombine大数据模型类 增加 scaleX、scaleY、scaleZ 参数
- Primitive矢量数据新增 depthFail 参数支持遮挡部分的展示
- 对部分矢量对象的getRectangle方法优化
- 调整手机端标绘提示文字
- 军标对象增加 getOutlinePositions 静态方法,可外部调用计算边界点坐标
- Measure 量算方法增加 decimal 等参数,支持自定义显示的文本中保留的小数位
- 标绘 startDraw 等方法返回值改为 Promise
- 修改 RotateOut、RotatePoint 于时钟脱离依赖,时钟停止也可有效运行
- 增加 Icon 类,可以外部自定义默认右键菜单的图标
- RoamLine 增加 noPitchRoll 参数
- RoamLine根据forwardExtrapolationType参数自动保留路线
- PolyUtil 类部分异步方法由 void 改为返回 Promise
- 优化WallScroll材质,增加方向等参数
- 矢量数据增加updatePosition事件
- DiffuseWall增加 maxScale 扩散的最大比例参数
- BillboardEntity、PointEntity、ModelEntity 支持其他 point、model、ellipse、path 附带对象
- PathEntity根据forwardExtrapolationType参数自动保留路线
- 右键菜单单击一级菜单时不关闭二级菜单
- Tetrahedron 增加支持鼠标拾取
- DivLightPoint 增加支持大小和文本参数
- 增加enabledEvent可以禁用事件,大数据创建清除时建议开启
- ModelPrimitive类动态点时增加fixedHeading参数支持固定heading角度值
- 优化 TilesetPlanClip (opens new window) 增加显示和编辑 plan 平面
- VolumeMeasure (opens new window) 方量分析增加一些参数
- 支持Popup与矢量数据在外部更新position后的位置联动
- 优化 ToolButton 和 右键菜单的 icon 图标,支持 图片 url 路径、base64 字符串、svg 字符串、字体图标 class 名 等形式
- 优化Compass导航球控件双击定位规则
- MapSplit移除时对图层的处理方式优化
- 增加 MeasureUtil.getSurfaceArea (opens new window) 方法
# v3.2 - 2022-1-28
# 新增 🌟
- Vue功能示例和基础项目架构由webpack迁移至vite框架
- 新增了 CircleCombine (opens new window) 、RectangleCombine (opens new window)、WallCombine (opens new window) 等10多个合并渲染的大数据矢量对象
- 新增了Tetrahedron (opens new window)、CloudPrimitive (opens new window)、ViewShed (opens new window) 等矢量对象
- 新增瓦片图层颜色滤镜功能,增加 invertColor、filterColor等参数来修改瓦片颜色
- 重写了 DivGraphic (opens new window) 的编辑处理,支持直接拖拽 div 对象
# 优化 💪
- mars3d-cesium库升级到v1.91 (opens new window)
- map新增了地形加载失败、地形加载成功、load初始化 事件
- Map 的鼠标事件除 move 外 event 回调中均加上拾取的 mars3d 矢量对象和图层
- map 增加 toolbar 和 controls 中增加 ceisum 原生控件的获取,方便使用
- Map初始化地形加载失败时,自动切换至无地形进行展示,避免黑色球效果
- QueryGeoServer 增加 queryBySql 方法,支持 cql_filter
- WfsLayer 增加 geometryName 参数
- 模型剖切支持 plane 的显示和编辑
- FloodByMaterial (opens new window) 淹没分析支持颜色的修改
- 优化 RoamLine 的 endItem 事件
- ModelPrimitive 等类增加 clampToTileset 等参数
# v3.1 - 2021-8-21
# 新增 🌟
- 新增了WaterCombine大数据水面对象、ConeTrackPrimitive 圆锥追踪体矢量对象
- 新增了OutlineEffect 描边特效对象
- 新增了 OverviewMap (opens new window) 鹰眼地图控件、ClockAnimate 时钟控件
- 增加 EffectType、ControlType 类,并统一规范了所有Effect、Control,支持Map中effect、control传参加载构造、新增了type类型,相关新增移除事件等
- 新增了CylinderWaveMaterialProperty属性材质、 Image2 (opens new window) 图片材质
- 矢量数据增加 highlight 高亮相关属性和方法,支持鼠标移入或单击后的按指定样式高亮矢量对象
- 模型和矢量对象中增加 allowDrillPick 参数,允许鼠标穿透拾取进行交互
- 点状Primitive对象类中新增addDynamicPosition动态点动画轨迹方法
- PolygonPrimitive、PolygonCombine、RectanglePrimitive、CirclePrimitive 新增支持边线宽度及材质设置
- 所有类的事件回调对象增加 stopPropagation 方法可以停止事件冒泡
- 重写了 图上量算的所有矢量对象,采用继承Graphic矢量类的方式实现
- 重写了 Popup (opens new window) 和 Tooltip (opens new window) 类,采用继承DivGraphic类的方式实现
- 增加了行政区突出展示、智慧社区、客户端空间分析等多个功能示例
- 进行了一次 API 文档的规范和检查改正
# 优化 💪
- mars3d-cesium库升级到v1.89 (opens new window)
- Map类增加了 renderError、terrainChange、tileLoadProgress、contextMenuOpen、contextMenuClose、contextMenuClick 相关事件
- Map 类增加 mouse 鼠标操作相关配置参数
- 优化 Map 类的 setPitchRange 方法处理
- 优化地图 Zoom 的处理,限定最大最小距离
- 优化鼠标在无地球情况下拾取
- 矢量数据和图层增加 popupOpen、popupClose、tooltipOpen、tooltipClose 事件
- 矢量图层的进入编辑的方式修改,可以右键去激活编辑矢量数据
- 矢量数据和图层中增加 getRectangle 方法获取数据的矩形边界
- GroupLayer 的 flyTo 方法支持定位所有子图层矢量数据边界
- GeojsonLayer 增加 graphicOptions 参数
- 矢量对象标绘事件中,增加修改或增加点的 index 值
- 标绘编辑点支持在 DrawUtil.setPointStyle (opens new window) 方法修改样式
- 调整优化了矢量单体化示例
- ModelPrimitive、TilesetLayer、OsmBuildingsLayer 支持 customShader 参数来设置自定义 shader 效果
- TilesetLayer 中 highlight 参数增加 all 参数控制整体高亮
- 优化图层的 flyTo 处理,对 echarts 等图层增加 flyTo 支持
- xyz 图层增加 tms 属性,简化 tms 类型图层配置
- wms、wmts 等图层增加 getCapabilities 参数控制是否进行读取图层配置信息
- CircleEntity 和 RectangleEntity 对象的 toGeoJSON 方法支持导出边线
- DivGraphic (opens new window) 在 clampToGround:true 时支持随地形切换后贴地
- DivGraphic (opens new window) 的相关事件中增加 mouseEvent 原始 DOM 事件对象属性。增加支持 setHeight 和 addHeight 参数。优化贴地效率。矢量对象增加 className、timeRender 属性、增加 postRender 事件
- BillboardEntity 和 LabelEntity 类增加 startBounce (opens new window)、stopBounce (opens new window) 执行弹跳动画方法
- ModelEntity (opens new window) 和 ModelPrimitive (opens new window) 对象增加缩小后用像素点或图标展示
- ModelEntity对象中addDynamicPosition方法新增的动态点时,增加到时时间停止后触发 stop 事件
- ModelEntity对象 addDynamicPosition 时,增加 noPitchRoll 参数,可以设置模型只动态更改方向,内部固定模型的 Pitch 和 Roll 方向值为 0
- Video3D 增加 maskImage 羽化图片参数
- 文字材质优化和增加边框参数
- 反选遮罩层支持多面的 geojson
- 矢量数据的 setHeight 和 addHeight 的属性支持字符串模版配置读取属性内值
- 增加 highlightOpen 和 highlightClose 事件,并优化 openHighlight 和 closeHighlight 方法
- ModelPlanClip 支持ModelPrimitive模型的裁剪
- RotatePoint 增加鼠标交互操作修改
- PolygonCombine 的 outline 支持优化,增加 setColorStyle 方法
- RoamLine 增加 forwardExtrapolationType 等参数。增加 setOptions 方法、支持 model.highlight 配置。优化 clockLoop 参数,并支持导出 Json。优化flyToPoint 方法
- 军事标绘positions支持 传入CallbackProperty回调属性
- PolylinePrimitive 支持 colors 属性
- LineFlicker 材质增加背景色参数
- EllipsoidEntity 扫描效果支持暂停
- RectSensor 和 ConicSensor 增加 hideRayEllipsoid 属性
- 优化 Sightline 通视分析效果
- ViewShed3D、Shadows 增加 terrain 参数控制是否开启地形的阴影效果
- TilesetFlat 优化模型高度值的读取
- 优化 ContextMenu 右键菜单二级菜单超出屏幕时的展示
- 优化 DivGraphic、Popup、右键菜单 的样式和展示
- LineFlowMaterialProperty 新增时长参数
- 标绘编辑增加 hasHeightEdit 属性控制是否修改高度值
- TilesetPlanClip中新增了对模型斜切
- RainEffect 增加粒子大小和方向参数
- GaodeRoute 支持途经点、避让区域参数
- 重新梳理了右键菜单方法及其参数、右键菜单中增加量算功能
- 控件和 DivGraphic (opens new window) 对象支持 parentContainer 参数来指定自定义的父级 DOM
- Tooltip 更改了默认模板,并支持 direction 显示方向配置
- Popup 增加 autoCenter 参数,增加 animation 动画参数对是否动画可控
- Compass 的 bottom 支持配置 toolbar,自动跟随 cesium-viewer-toolbar
- Zoom 控件支持增加 zoomOutIcon、zoomOutIcon 传入图片 url
- 封装增加 mars3d.control.Timeline 控件,方便后续控制
- 优化 LocationBar 的不同屏幕宽度下的展示
- ToolButton 的 icon 参数支持传入图片 url,增加鼠标移入移出事件
- 增加 mars3d.LatLngPoint.FormatLength 全局变量,控制经度纬度的格式化时的长度
- Util 增加 formatDate 方法
- widget 的 disableOther 配置支持数组,释放指定的多个 widget
# v3.0 - 2021-2-1
# 重要说明 📣
- v3.0版与v2.x版本还不兼容(API结构不同),无法兼容平滑的升级,因为v3所有代码从零开始编写搭建的,不是基于之前的老版本修改的。
- 易学:使用和语法都按开发人员用户习惯最优设计,降低开发人员能力要求,只用初级水平开发人员即可上手。
- 规范:API 从顶层统一规范的从零重构、统一的 Map 地图对象,规范一致的调度机制,使用和学习极其简单。
- 高效率:提高了开发效率和平台的渲染效率。
- 新技术栈支持:对 sdk 增加了 TypeScript 定义,npm 包公开发布,功能示例、教程开源开放,全新的开发生态。
- 详细的 API 和教程:重新编写了详细的教程文档、自动根据 SDK 注释生成的最详尽的 API 文档,并完全免费开放。
- 功能示例和项目模板:并规划开发了 Vue 版、React 版功能示例和基础项目。
# 新增 🌟
- Map类:统一控制管理地图所有对象,可叠加图层、添加控件、特效、分析对象等。
- 瓦片图层新增了自动纠偏功能
- WMTS服务图层支持单击拾取矢量数据
- 默认右键菜单中,增加场景特效菜单项
- 图层:重写了 GeoJsonLayer (opens new window)图层,采用可在 symobl 中配置 type 参数指定 Graphic 类型来渲染,默认为 primitive 方式。
- 图层:重写了 LodGraphicLayer (opens new window)图层,采用 Graphic 方式渲染,默认内部为 primitive 方式,也可以按需自定义 type。
- 矢量数据:全新设计的矢量图层 GraphicLayer (opens new window) 和 Graphic (opens new window) 矢量数据体系,可以自由切换数据类型,提高渲染效率。
- 材质:新增了十多个全新动态材质,并使用 MaterialType 和 MaterialUtil 类来统一管理矢量数据的材质对象,简单易用。
- 模型分析:优化了模型压平、模型开挖、模型淹没,支持多个模型压平等并提高渲染效率。
- 地形分析:优化了地形开挖、等高线、坡度坡向等地形相关功能,支持多个地形开挖并提高渲染效率。
- 材质统一管理:新增了 MaterialType (opens new window) 和 MaterialUtil (opens new window) 类来统一管理材质。
- 样式统一规范:梳理规范了所有矢量数据的style样式参数。
- 矢量数据:新增了 PolygonCombine (opens new window)、ModelCombine (opens new window) 、PolylineCombine (opens new window)等大数据展示的合并渲染对象
- 矢量数据:新增了 DivUpLabel (opens new window)、DivBoderLabel (opens new window) 等多个 DivGraphic子类对象及其功能示例
- 矢量数据:新增了 ConeTrack (opens new window) 圆锥追踪体对象、 FrustumPrimitive (opens new window) 四棱锥体对象
- 动态轨迹:点对象类中新增 addDynamicPosition (opens new window) 对动态点动画轨迹方法
- 动态坐标:PointPrimitive (opens new window)对象新增对CallbackProperty动态坐标的支持
- Popup (opens new window) 和 Tooltip (opens new window) 新增template参数,用于支持配置外部模板
- 增加Tle (opens new window)算法类,用于卫星 TLE 和 SGP4 相关计算
- Cesium版本:升级至 1.84 (opens new window)
# 优化 💪
- 支持对CGCS2000投影坐标(EPSG:4502 到 EPSG:4554)的坐标显示和转换
- wfs、arcgis 图层支持自动读取服务信息中的 crs 坐标系和 extent 边界信息
- 优化对 arcgis 服务、geojson 等的加载处理
- EchartsLayer (opens new window) 图层升级支持 echarts5 (mars3d-echarts 插件)
- 矢量图层新增 isRestorePositions 参数,用于在标绘和编辑结束时,是否将坐标还原为普通静态坐标值
- 在GeoJsonLayer (opens new window) 图层加载 MultiPolygon 和 MultiLineString 时,只在最大坐标数的线面对象上显示文本注记
- TilesetLayer (opens new window) 三维模型图层支持外部更新 modelMatrix
- 优化 MapVLayer (opens new window) 的事件绑定 和 线面坐标的遮挡不显示处理
- WMTS图层 (opens new window)支持自动读取服务本身配置,可减少外部配置参数
- 线面数据的 addHeight 属性支持传入数组
- 优化矢量数据的 style.label.position参数,支持模版等配置
- 对Entity类型数据,增加 availability、viewFrom、parent 等原生Entity相关参数
- Satellite (opens new window)卫星对象支持外部动态 position 和 orientation 传值
- 对 ConicSensor (opens new window) 和 RectSensor (opens new window) 对象,增加和优化了 length 和 rayEllipsoid 等属性
- 优化 SatelliteSensor (opens new window) 的效率,length 属性支持外部定义传入
- RoamLine 的第一视角模式增加 offset3 个方向偏移值,可以进行驾驶舱内视角进行漫游。在启动前增加静态模型的显示
- DivGraphic矢量对象增加按视角自动计算叠加层次关系
- 量算长度,新增 showAddText 是否显示每一段的增加部分距离参数
- 绘制圆时增加半径距离的显示
- 对动态点增加贴模型参数,支持自动贴模型
- 优化了LocationBar (opens new window)状态栏控件,支持显示其他坐标系坐标,更改了 API 接口
- Compass (opens new window)导航球增加自定义样式和 svg 的外部接口
- 比例尺控件,增加 distance 属性和 change 事件
- 剔除内部的 zepto 库,全部改为原生JS代码来操作相关DOM