Skip to content

Releases: maptalks/maptalks-gl-layers

V0.103.2 Released

19 Nov 09:10
Compare
Choose a tag to compare

调整

  • VectorTileLayer options的tileStackDepth改为2,tileStackStartDepth改为3,以避免某些服务数据量较大时,瓦片很久无法请求的问题, maptalks/issues#786

Bug修改

  • 解决生成纹理对象时的一个内存泄漏问题,该问题会导致频繁生成纹理的场景(例如3dtiles)的内存崩溃, maptalks/issues#785
  • 从查询结果中去除mask,修正3dtiles上的ColorMask造成的query3DTilesAtPoint出错的问题, maptalks/issues#787
  • 解决root tile matrix计算错误,导致某些3dtiles没有正常请求的问题,maptalks/issues#783
  • 解决LineStringLayer无法通过更新properties里的lineGradientProperty值,改变渐变的问题, maptalks/issues#782
  • 解决有alpha cutoff设置的gltf无法通过polygonOpacity调整透明度的问题,maptalks/issues#769

Adjustments

  • VectorTileLayer options have tileStackDepth changed to 2 and tileStackStartDepth changed to 3 to avoid the problem of tiles being unrequested for a long time when some services have large amounts of data, maptalks/issues#786

Bug fixes.

  • Resolve a memory leak when generating texture objects that caused memory crashes in scenarios with frequent texture generation (e.g. 3dtiles), maptalks/issues#785
  • Remove mask from query results, fixing an error in query3DTilesAtPoint caused by ColorMask on 3dtiles, maptalks/issues#787
  • Solve the problem that the root tile matrix is miscalculated, resulting in some 3dtiles not being requested properly, maptalks/issues#783
  • Solve the problem that LineStringLayer can't change the gradient by updating the lineGradientProperty value in properties, maptalks/issues#782
  • Fix an issue where gltf with alpha cutoff setting could not adjust transparency via polygonOpacity, maptalks/issues#769

Translated with DeepL.com (free version)

V0.103.1 Released

31 Oct 08:21
af4b4ba
Compare
Choose a tag to compare

改进

Bug修改:

  • 解决核心库DrawTool绘制时的空指针问题, maptalks/maptalks.js#2447, by @lzp0070007
  • 解决核心库DrawTool鼠标在地图范围外的报错, by @Criska9527 in maptalks/maptalks.js#2451
  • 解决核心库VectorLayer碰撞检测实现导致的渲染性能问题 by @deyihu in maptalks/maptalks.js#2450
  • 解决WebGL2RenderingContext class名被混淆,造成three.js 15x版本无法识别WebGL2,导致加载standard材质时报错的问题
  • 增加GLTF解析逻辑,修正某些不合法GLTF的读取,maptalks/issues#778
  • 解决球面谐波值计算错误,导致渲染过曝的问题, maptalks/issues#777
  • 为提升默认性能,默认打开Geo3DTilesLayer service上的compressGeometry设置,如果导致少数高精度模型的渲染错位,关闭该选项即可。
  • 将GroupGLLayer.query3DTilesAtPoint改为从gpu深度值中读取坐标,解决渲染复杂3DTiles时,开始拖动地图时的卡顿
  • 解决I3S数据不支持dds纹理的问题,by @deyihu, fuzhenn/gl-layers#27

Improvements

Bug fixes:

  • [maptalks.js] Resolve null pointer issue DrawTool drawing, maptalks/maptalks.js#2447, by @lzp0070007
  • [maptalks.js] Resolve DrawTool mouse out of map range error, by @Criska9527 in maptalks/maptalks.js#2451
  • [maptalks.js] Solve a rendering performance issue caused by VectorLayer collision detection implementation by @deyihu in maptalks/maptalks.js#2450
  • Solve the problem that WebGL2RenderingContext class name was mixed up, which caused that three.js 15x version could not recognize WebGL2, and led to the problem of loading standard material at the time of error.
  • Add GLTF parsing logic, fix some illegal GLTF reading, maptalks/issues#778.
  • Solve the problem of rendering overexposure due to the miscalculation of spherical harmonic value, maptalks/issues#777
  • Turn on the compressGeometry setting on the Geo3DTilesLayer service by default to improve default performance, just turn off the option if it leads to misaligned rendering of a few high-precision models.
  • Change GroupGLLayer.query3DTilesAtPoint to read coordinates from gpu depth value, to solve the lag when start dragging the map when rendering complex 3DTiles
  • Solve the problem that I3S data doesn't support dds textures, by @deyihu,, fuzhenn/gl-layers#27

V0.103.0 Released

24 Oct 09:57
af4b4ba
Compare
Choose a tag to compare

Breaking Changes

  • TransformControl的api改为通过事件监听,支持对任意三维对象的交互(GLTF,3DTiles,Three.js),而不再只局限于GLTFMarker
  • GroupGLLayer放弃对FXAA抗锯齿的支持 maptalks/issues#750

新功能

  • Geo3DTilesLayer的service上增加了ecefTransform,用于设置ECEF的坐标转换矩阵,设置模型的位置,旋转和放大系数,示例代码:
// 参数1:坐标[经度,纬度,海拔(米)
// 参数2:xyz轴上的缩放比例
// 参数3:xyz轴上的旋转角度(度)
const transform = maptalks.Geo3DTilesLayer.getEnuTransform([121, 31, 0], [1, 1, 1], [0, 0, 0]);
const layer = new maptalks.Geo3DTilesLayer('3dtiles', {
    services : [
        {
            ecefTransform: transform,
            url: './data/tileset.json'
        }
    ]
});
  • Geo3DTilesLayer的service上增加createNormalIfMissed,设置为true后,如果模型没有法线数据,会为模型计算生成法线数据
  • Geo3DTilesLayer的service的scale恢复用数组对xyz轴分别设置缩放系数(原有方式仍然兼容)
  • Geo3DTilesLayer.options增加onlyCacheNoContentTileWhenError设置,默认为true,不再缓存状态码除404,204等之外的瓦片数据,maptalks/issues#759
  • GLTFLoader的纹理请求并发量由10提高到30,提升了3dtiles的请求速度
  • 增加方法: GroupGLLayer.query3DTilesAtPoint(containerPoint) ,用于查询屏幕坐标上3DTiles数据的高程
  • GroupGLLayer.options.sceneConfig.environment上增加intensity,用于调整天空盒背景的颜色强度
  • GroupGLLayer.options.sceneConfig.environment上增加toneMapping,用于调整天空盒背景的颜色风格
  • 地形增加颜色渐变支持 fuzhenn/gl-layers#22 by @deyihu
    ce17088d50d4a466f275db853d7322ac
  • GeoVectorTileLayer上增加getGeometryById方法
  • VectorTileLayer的textName增加任意文字的模板变量名 fuzhenn/gl-layers#6 by @deyihu
  • function-type升级到1.4.0,增加对加减乘除运算的支持, maptalks/function-type#13, by @aoyaZY
  • WebGL2下增加对NPOT(not power of two)纹理的支持

Bug Fixes


Breaking Changes

  • TransformControl api changed to support interaction with arbitrary 3D objects (GLTF, 3DTiles, Three.js) via event listeners, instead of being limited to GLTFMarker.
  • GroupGLLayer drops support for FXAA antialiasing maptalks/issues#750

New features

  • ecefTransform added to Geo3DTilesLayer's service for setting ECEF's coordinate transformation matrix, setting the model's position, rotation and zoom factor, sample code:
// Parameter 1: coordinates [longitude, latitude, elevation (meters)
// Parameter 2: zoom ratio on xyz axis
// Parameter 3: rotation angle on xyz axis (degrees)
const transform = maptalks.Geo3DTilesLayer.getEnuTransform([121, 31, 0], [1, 1, 1], [0, 0, 0]);
const layer = new maptalks.Geo3DTilesLayer('3dtiles', {
  services : [
    {
      ecefTransform: transform,
      url: '. /data/tileset.json'
    }
  ]
});
  • Add createNormalIfMissed to Geo3DTilesLayer's service, set it to true, if the model doesn't have normal data, it will generate normal data for the model.
  • The scale of Geo3DTilesLayer's service restores the scaling factor of xyz-axis with an array (the original way is still compatible).
  • Geo3DTilesLayer.options add onlyCacheNoContentTileWhenError setting, default is true, no longer cache tile data except 404, 204, etc., maptalks/issues#759.
  • GLTFLoader's texture request concurrency increased from 10 to 30, improving the request speed of 3dtiles
  • Add method: GroupGLLayer.query3DTilesAtPoint(containerPoint) to query the elevation of 3DTiles data in screen coordinates.
  • GroupGLLayer.options.sceneConfig.environment to add intensity, used to adjust the color intensity of the skybox background.
  • GroupGLLayer.options.sceneConfig.environment adds toneMapping to adjust the color style of the skybox background.
  • Add color gradient support for terrain fuzhenn/gl-layers#22 by @deyihu
    ce17088d50d4a466f275db853d7322ac
  • Add getGeometryById method on GeoVectorTileLayer.
  • VectorTileLayer's textName add arbitrary text template variable name fuzhenn/gl-layers#6 by @deyihu
  • function-type upgraded to 1.4.0, add support for addition, subtraction, multiplication and division. maptalks/function-type#13, by @aoyaZY
  • Add support for NPOT (not power of two) textures under WebGL2.

Bug Fixes

  • Solve the problem of missing css and images in maptalks-gl release package, maptalks/issues#739
  • Fix a drawing issue with vt white model due to template testing, maptalks/issues#718
  • Fix a problem with VectorTileLayer.forceReload reporting errors, maptalks/issues#715
  • Fix a problem where hasFunctionUniform throws a null pointer exception, maptalks/issues#725
  • Fix an issue where Mask does not support elevation, maptalks/issues#727
  • Solve the problem that 3DTiles data raycast is unstable.
  • Model default texture changed to linear mipmap linear, maptalks/issues#728
  • Fix memory leak on GLTFLayer, maptalks/issues#735
  • Resolve an issue where 3DTiles tile traversal errors caused models not to be drawn properly, maptalks/issues#740
  • Fix ts type declaration error for GeoJSONVectorTileLayer (redundant urlTemplate)
  • Skyboxes were changed to be stored in float16 to solve the problem of incorrect skybox colors, maptalks/issues#743
  • Solve the wrong implementation logic for alphaMode, alphaCutoff, doubleSided in GLTF models
  • Solve the problem that there is an upper limit on the number of gradients in line gradient, maptalks/issues#747
  • Resolve color style differences from three.js (but cause metal to always be black when there is no skybox), maptalks/issues#732
  • Fix an issue where 3DTiles rendering would report an error when shadows were turned on
  • Draw in unlit mode when model has no normal data, maptalks/issues#755
  • Solve the problem that blank tiles often appear during terrain drawing, maptalks/issues#748
  • Change the default parameter of RayCaster to latitude and longitude, maptalks/issues#756
  • Fix an exception where tiles are occasionally recycled when maxGPUMemory is insufficient, maptalks/issues#766
  • Fix a drawing problem when VT's extrusion is set to a negative value, maptalks/issues#763
  • Workaround for VT's water not drawing properly after setting hdr, maptalks/issues#770
  • Fix an issue where VT water doesn't support layer.options.altitude, maptalks/issues#770

V0.99.2 Released

27 Aug 06:26
Compare
Choose a tag to compare

Bug Fixes

  • 通过调用uniformMatrix4fv前检查NaN,彻底解决了chrome 128 导致的non-finite报错。

Bug Fixes

  • solved the non-finite error caused by chrome 128 by checking NaN before calling uniformMatrix4fv.

V0.99.1 Released

22 Aug 07:20
Compare
Choose a tag to compare

Bug fixes

  • 解决Tile Stencil计算矩阵时的NaN,导致Chrome 128上WebGL2RenderingContext调用uniformMatrix4fv出错的问题
  • 解决LineStringLayer上linePatternFile绘制扭曲的问题, maptalks/issues#713
  • 解决VectorTileLayer中 convertGeometry的问题,fuzhenn/gl-layers#19

Bug Fixes

  • Solve the problem that NaN in matrix calculation by Tile Stencil causes an error in calling uniformMatrix4fv by WebGL2RenderingContext on Chrome 128
  • Fix linePatternFile drawing distortion issue on LineStringLayer, maptalks/issues#713
  • Fix a problem with convertGeometry in VectorTileLayer. maptalks/issues#713

V0.98.0 maptalks-gl 发布了

16 Aug 09:11
Compare
Choose a tag to compare

Breaking Changes

从这个版本开始,原有的 @maptalks/gl-layers 停止更新,改为以新的包名 maptalks-gl 来发布。

npm i maptalks-gl

maptalks-gl包含了maptalks核心库和原@maptalks/gl-layers的内容,有两个优点:

  • 安装使用更加方便
  • 会保证 maptalks 核心库与gl插件的兼容性

新功能

  • 部分改写为typescript语法,增加了VectorTileLayer,Geo3DTilesLayer和reshader.gl等类的typescript提示
  • 发布包增加了sourcemap,方便错误调试与查看源代码
  • VectorTileLayer worker中数据解析性能提升了约150% maptalks/issues#682 maptalks/issues#690
  • VectorTileLayer的line插件中,symbol增加了mergeOnProperty支持,可以指定某个属性,将该属性一样的线段合并为一条较长的线 maptalks/issues#691
  • VectorTileLayer增加了 getRenderedFeaturesAsync 方法,用于异步返回已经渲染的数据 fuzhenn/gl-layers#8
  • GLTFMarker上增加了对GLTF特定node设置translation,scale,rotation的方法, maptalks/issues#711
// 第一个参数是node index
marker.setNodeTRS(6, {
      rotation: [45, 0, 0],
      scale: [2, 2, 2]
});

Bug修改

  • 提升了 3dtiles 默认的绘制精度,解决某些情况下模型出现锯齿的问题 maptalks/issues#704
  • 优化了3dtiles的LOD渲染逻辑,解决某些情况下后面的物体绘制到前面的bug maptalks/issues#655
  • 解决3dtiles透明物体会遮住后面物体的渲染bug maptalks/issues#654
  • 解决mac上3dtiles纹理报错的问题 maptalks/issues#668
  • 解决3dtiles绘制到GLTFMarker设置的泛光失效的问题 maptalks/issues#674
  • 解决4326投影下,3dtiles法线计算错误导致的绘制问题 maptalks/issues#607
  • 解决 Geo3DTilesLayer 更新 service.environmentExposure 时,只有部分mesh会更新的问题 maptalks/issues#661
  • 解决 3dtiles 数据纹理格式不合规时,模型变成黑色,且设置unlit也无效的问题 maptalks/issues#708
  • 解决 3dtiles 请求数据量过大,会导致其他图层被阻塞无法请求的问题 maptalks/issues#710
  • 解决某些数据3dtiles会报updateMaskDefines错误的问题 maptalks/issues#610
  • 解决GLTFMarker加到图层前,调用highlightNodes不生效的问题 maptalks/issues#709
  • 解决GLTFMarker调用zoomTo出错的问题,maptalks/issues#650
  • 解决GLTFMarker泛光无法取消的问题,maptalks/issues#630
  • 解决GLTFMarker,outline点选的nodeIndex和meshId不准的问题 maptalks/issues#619
  • 解决GeoJSONVectorTileLayer在贴合地形时调用highlight无效的问题 maptalks/issues#712
  • 解决VectorTileLayer图层layerload事件没有在瓦片加载完后抛出的问题 maptalks/issues#697
  • 解决VectorTileLayer中文字的碰撞盒错误的问题, maptalks/issues#624
  • 解决VectorTileLayer四字节文字无法正常绘制的问题, maptalks/issues#621
  • 解决多个图层同时使用map的碰撞监测时,其中一个图层修改会导致碰撞发生错误的问题 maptalks/issues#629
  • 解决PointLayer碰撞检测的顺序与zIndex绘制顺序相反的问题 maptalks/issues#626
  • 解决map.setPostProcessConfig方法会导致TileLayer出现大量undefined请求的问题 maptalks/issues#703
  • 解决倾斜地图操作,偶尔性会让相机跳跃为俯视角的问题 maptalks/issues#701
  • 解决拖动有地形的地图时,地图会晃动的问题 maptalks/issues#633
  • 解决缩放地图,或更新样式时,VectorTileLayer会产生错误绘制的问题 maptalks/issues#677

Breaking Changes

Starting with this release, the old @maptalks/gl-layers stops being updated and is instead released under the new package name maptalks-gl.

npm i maptalks-gl

maptalks-gl contains the maptalks core library and the contents of the original @maptalks/gl-layers, and has two advantages:

  • It is easier to install and use.
  • @maptalks/gl-layers is easier to install and use.

New features

  • Partially rewritten to typescript syntax, added typescript hints for classes like VectorTileLayer, Geo3DTilesLayer and reshader.gl.
  • Added sourcemap to the distribution package, which is convenient for debugging errors and checking source code.
  • Data parsing performance in VectorTileLayer worker has been improved by about 150% maptalks/issues#682 maptalks/issues#690
  • VectorTileLayer's line plugin adds mergeOnProperty support for symbols, which allows you to specify a property and merge line segments with the same property into one longer line maptalks/issues#691
  • VectorTileLayer added getRenderedFeaturesAsync method to asynchronously return the rendered data fuzhenn/gl-layers#8
  • GLTFMarker adds methods to set translation, scale, rotation for GLTF-specific nodes maptalks/issues#711
// The first argument is the node index
marker.setNodeTRS(6, {
      rotation: [45, 0, 0],
      scale: [2, 2, 2]
});

Bug fixes

  • Improved the default drawing accuracy of 3dtiles to solve the problem of jagged models in some cases maptalks/issues#704
  • Optimized the LOD rendering logic of 3dtiles to solve the problem of jagged models in some cases.
  • Solve the rendering bug that 3dtiles transparent objects will cover the objects behind them maptalks/issues#654
  • Solve the problem that 3dtiles texture reports error on mac maptalks/issues#668
  • Solve the problem that 3dtiles drawing to GLTFMarker setup's flood light is not working maptalks/issues#674
  • Fix a bug that 3dtiles normals are not calculated correctly in 4326 projection maptalks/issues#607
  • Solve the problem that when Geo3DTilesLayer updates service.environmentExposure, only some meshes will be updated maptalks/issues#661
  • Solve the problem that when 3dtiles data texture format is not compliant, the model becomes black and setting unlit is invalid maptalks/issues#708
  • Resolve the issue that 3dtiles requesting too much data will cause other layers to be blocked maptalks/issues#710
  • Solve the problem that some data 3dtiles will report updateMaskDefines error maptalks/issues#610
  • Solve the problem that calling highlightNodes does not work before GLTFMarker is added to a layer maptalks/issues#709
  • Solve the problem that GLTFMarker calls zoomTo with error maptalks/issues#650
  • Solve the problem that GLTFMarker floodlight can not be canceled, maptalks/issues#630
  • Solve the problem that nodeIndex and meshId are not allowed in GLTFMarker, outline tap maptalks/issues#619
  • Solve the problem that GeoJSONVectorTileLayer call highlight is invalid when fitting terrain maptalks/issues#712
  • Fix an issue where VectorTileLayer layerload event is not thrown after tile loading maptalks/issues#697
  • Fix an issue where the collision box for text in VectorTileLayer is wrong maptalks/issues#624
  • Solve the problem that four-byte text in VectorTileLayer can not be drawn correctly, maptalks/issues#621
  • Solve the problem that when multiple layers use map's collision monitoring at the same time, one of the layer modifications will cause an error to occur in the collision maptalks/issues#629
  • Solve the problem that the order of PointLayer collision detection is opposite to the order of zIndex drawing maptalks/issues#626
  • Solve the problem that map.setPostProcessConfig method causes a lot of undefined requests for TileLayer maptalks/issues#703
  • Solve the problem that tilting the map occasionally causes the camera to jump to the top view maptalks/issues#701
  • Fix a bug that the map will shake when dragging a map with terrain maptalks/issues#633
  • Fix an issue where the VectorTileLayer is incorrectly drawn when zooming the map or updating the style maptalks/issues#677

V0.34.1 Released

14 Mar 08:42
Compare
Choose a tag to compare

Bug修改

  • 解决 i3dm 数据因为采用enuToFixedFrame方式,精度不足造成的数据偏移 maptalks/issues#628
  • 解决因为压缩顶点数据,造成渲染日本政府发布的城市模型会爆内存的问题,取消顶点压缩后解决
  • 打开ground的cull face,让镜头在地下时地面消失
  • 解决GLTFMarker打开bloom后,无法关闭的问题 maptalks/issues#630

Bug fixes

  • Solved the problem that i3dm data was shifted due to the lack of precision in the enuToFixedFrame method. maptalks/issues#628
  • Solved the problem that rendering city models released by the Japanese government would burst memory due to compression of vertex data, solved by removing vertex compression.
  • Open the cull face of ground, so that the ground disappears when the camera is underground.
  • Solve the problem that GLTFMarker can't be closed when bloom is opened. maptalks/issues#630

V0.34.0 Released

07 Mar 09:52
Compare
Choose a tag to compare

新功能

  • VectorTileLayer和ExtrudePolygonLayer中,材质恢复了对uvRotation的支持,即纹理的旋转角度,单位为度,旋转方向为逆时针
  • Geo3DTilesLayer service中增加 debugNodes 选项,用于配置用于调试的瓦片编号
  • Geo3DTilesLayer service上把debug设为true时,会绘制瓦片的包围盒

Bug修改

  • 修正了因为精度问题,级别很大时,polygon pattern的纹理扭曲问题 maptalks/issues#609
  • 解决GeoJSONVectorTileLayer在map设为4490投影下无法正常绘制的问题
  • 解决VectorTileLayer不支持四字节中文绘制的问题, maptalks/issues#621
  • 解决缩放地图时,沿线文字没有正常更新碰撞包围盒的问题, maptalks/issues#624
  • 解决PointLayer,碰撞优先级与绘制优先级相反的问题, maptalks/issues#626
  • 解决没有设置terrain时,调用queryTerrain报错的问题, maptalks/issues#606
  • GLTFLoader中限制了同时请求纹理的数量,避免请求纹理数量很大时造成的请求失败
  • 解决4326投影下,3dtiles瓦片 normal 计算错误导致的绘制异常, maptalks/issues#607
  • 解决三维测量的若干bug, maptalks/issues#605
  • 解决GLTFMarker outline会错位,以及identify的nodeIndex不准确的问题, maptalks/issues#619

New features

  • In VectorTileLayer and ExtrudePolygonLayer, the material restores support for uvRotation, which is the rotation angle of the texture in degrees, and the direction of rotation is counterclockwise.
  • Add debugNodes option in Geo3DTilesLayer service to configure tile numbers for debugging.
  • When debug is set to true on Geo3DTilesLayer service, the enclosing box of tiles will be drawn.

Bug fixes

  • Fixed the texture distortion problem of polygon pattern when the level is very large due to precision problem maptalks/issues#609
  • Fixed a bug that GeoJSONVectorTileLayer cannot be drawn properly when map is set to 4490 projection.
  • Solve the problem that VectorTileLayer does not support four-byte Chinese drawing. maptalks/issues#621
  • Solve the problem that when zooming the map, the text along the line does not update the collision box properly, maptalks/issues#624
  • Solve the problem that collision priority is opposite to drawing priority in PointLayer, maptalks/issues#626
  • Fix a bug in GLTFLoader where queryTerrain is called with an error when no terrain is set. maptalks/issues#606
  • Limit the number of textures requested at the same time in GLTFLoader, to avoid request failures when requesting a large number of textures.
  • Fix a drawing exception in 4326 projection when 3dtiles tile normal is miscalculated, maptalks/issues#607
  • Work around some bugs in 3D measurements, maptalks/issues#605
  • Solve the problem that GLTFMarker outline will be misaligned and identify's nodeIndex is not accurate, maptalks/issues#619

V0.33.0 Released

17 Feb 11:10
Compare
Choose a tag to compare

不兼容修改

  • Geo3DTilesLayer中service的scale的支持由数组改为了数字,即只支持整体的缩放,而不再支持分别缩放xyz三个轴上的大小
  • Geo3DTilesLayer中service中移除 maxExtent 的支持

新功能

  • GLTFLayer 增加 setURLModifier/getURLModifier 方法,用于修改资源请求的url
  • VectorTilelayer 增加 setURLModifier/getURLModifier 方法,用于修改资源请求的url

Bug修改

V0.32.0 Released

04 Feb 09:49
Compare
Choose a tag to compare

新功能

  • VectorTileLayer.options.features 支持设置为 transient,在tileload事件中获取到瓦片的features后,图层中的features会被删除以节省内存, maptalks/issues#559
  • GroupGLLayer 增加 queryTerrainAtPoint(containerPoint) 方法,用于以容器坐标查询地形上的坐标与高程
  • Geo3DTilesLayer.options 增加 alwaysShowTopTiles 设置(默认为true),保证永远显示最上层的瓦片, maptalks/issues#588
  • GeoJSONVectorTileLayer中数据量很大时,dataload事件中extent由前1000个数据改为间隔读取,保证extent更贴近实际情况
  • 地形增加对雨雪效果的支持, maptalks/issues#506
  • 三维测量增加对GLTFMarker的支持, maptalks/issues#591

性能提升

  • 通过改进ArrayPool,将VectorTileLayer在worker中的处理数据性能提升了约300%
  • 通过消除不必要的Object.defineProperty和uniform重复检查,明显提升webgl渲染的整体性能, maptalks/issues#352

Bug修改

  • 修正terrain的maxAvailableZoom不正确时,会无限请求地形瓦片的问题, maptalks/issues#584, maptalks/issues#593
  • 解决Geo3DTilesLayer中obb类型的瓦片与相机视锥的相交算法, maptalks/issues#594
  • 升级fusion.gl,解决webgl上下文状态切换错误造成的绘制问题, maptalks/issues#586
  • 解决GLTFLayer会在后处理时重复绘制造成性能急剧下降的问题
  • 解决MultiPolygon数据方向不合规时的绘制, maptalks/issues#600
  • 解决ColorMask没有正确响应鼠标事件的问题, maptalks/issues#597
  • 解决151版Three因为改变了webgl2上下文判断方法,造成无法在GroupGLLayer中正常工作的问题, maptalks/issues#601

New features

  • VectorTileLayer.options.features support set to transient, after getting the features of the tile in the tileload event, the features in the layer will be deleted to save memory, maptalks/issues#559
  • GroupGLLayer add identifyTerrainAtPoint(containerPoint) method to query the coordinates and elevation on the terrain in container coordinates
  • Geo3DTilesLayer.options add alwaysShowTopTiles setting (default is true) to ensure that the top tiles are always shown, maptalks/issues#588
  • When there is a large amount of data in GeoJSONVectorTileLayer, the extension in the dataload event is changed from the first 1000 data to be read at intervals, to make sure the extension is closer to the actual situation.
  • Add support for rain and snow effect in terrain, maptalks/issues#506.
  • Added support for GLTFMarker for 3D measurements, maptalks/issues#591.

Performance improvements

  • Improved VectorTileLayer's data processing performance in worker by about 300% by improving ArrayPool.
  • Significantly improved the overall performance of webgl rendering by eliminating unnecessary Object.defineProperty and uniform duplicate checks, maptalks/issues#352

Bug fixes

  • Fix an issue where terrain tiles would be requested indefinitely if the maxAvailableZoom of terrain was incorrect, maptalks/issues#584, maptalks/issues#593
  • Solve the intersection algorithm between obb type tiles and camera view cone in Geo3DTilesLayer, maptalks/issues#594
  • Upgrade fusion.gl to fix a drawing problem caused by incorrect webgl context state switching, maptalks/issues#586
  • Solve the problem that GLTFLayer will be drawn repeatedly during post-processing, causing a sharp performance degradation.
  • Fix a drawing problem when MultiPolygon data orientation is not correct, maptalks/issues#600
  • Solve the problem that ColorMask does not respond to mouse events correctly, maptalks/issues#597
  • Fix a bug in version 151 of Three that prevents it from working properly in GroupGLLayer due to a change in the webgl2 context determination method. maptalks/issues#601