dvgis / dc-sdk

DC-SDK is based on the open source project Cesium for the second development of two three-dimensional WebGis application framework , the framework optimizes the use of Cesium and adds some additional features , designed for developers to quickly build WebGis application.🌎
http://dc.dvgis.cn
Apache License 2.0
827 stars 256 forks source link

DynimicBillboard的addPosition怎么会跳一下? #77

Open Japheth1989 opened 3 years ago

Japheth1989 commented 3 years ago

更新广告牌位置时利用addPosition会跳到某个位置然后平滑移动

Japheth1989 commented 3 years ago

viewer = new DC.Viewer('viewer-container') let baselayer = DC.ImageryLayerFactory.createBaiduImageryLayer({ style:"dark", crs:'WGS84' }) viewer.addBaseLayer(baselayer) let layer = new DC.DynamicLayer('layer').addTo(viewer) for(let i = 0; i<50; i++){ let model = new DC.DynamicModel(generatePosition(1)[0],'examples/data/model/qiche.gltf') model.setStyle({ scale:10 }) layer.addOverlay(model) } setInterval(()=>{ layer.getOverlays().forEach(item=>{ item.addPosition(generatePosition(1)[0],5) }) },10000)

两个间隔时间不一致会产生跳跃,请问是什么问题?谢谢

Japheth1989 commented 3 years ago

后台定时上报实时位置,然后地图实现广告牌的平滑移动。上报间隔时间跟移动时间不一致导致跳跃,请问是什么问题?是不是源码有bug?希望能帮忙解决。谢谢。

cavencj commented 3 years ago

你好 ,我这边测试一下 ,进行源码的调整,依旧存在这个问题,这个问题应该是Cesium取样的位置属性的问题

Japheth1989 commented 3 years ago

大佬,这个能有办法解决吗?现在态势监控卡在这,能否帮忙改改?谢谢。

cavencj commented 3 years ago

目前是将间隔时间设置成一样的

Japheth1989 commented 3 years ago

大佬,这个能有办法解决吗?现在态势监控卡在这,能否帮忙改改?谢谢。

Japheth1989 commented 3 years ago

设置成一样的话,第一次也会跳一下,后面就不会了。这样有种情况不好处理(比如监控人走动,下面上报是20s,然后在地图上基本看不到移动效果)

cavencj commented 3 years ago

或者你试一下轨迹回放的功能,那个是点位更新是按照每一帧算的