SuperMap iClient JS之模拟预警点闪烁

作者:WJH

创建动态矢量要素,可参考JavaScript API中的SuperMap.Layer.AnimatorVector,车辆监控、气象模拟等都可以实现。当前是做了一个污染源监测预警点闪烁的效果。

先创建一个矢量动画图层。初始化的时候设置所需要的rendererType(渲染类型),当前设置的是一个点闪烁、尾巴渲染:”TadpolePoint”。和timeName属性,默认值为TIME,当前设置的是自定义的图层属性-PointTime。代码如下:

mySelf.animatorVector = new SuperMap.Layer.AnimatorVector("Train", {rendererType: "TadpolePoint",timeName:"PointTime"}, {
            //设置速度为每帧播放0.02小时的数据
            speed: 2,
            //每秒渲染10帧
            frameRate:10,
            //开始时间为0晨
            startTime: 0,
            //结束时间设置为最后运行结束的时间
            endTime: 100
        });

其中动态图层中包括**tail(是否开启闪烁效果,默认为true)和glint(是否开启尾巴效果,默认为true)**两个属性。如果不需要尾巴的话,就把tail设置为false就可以了。
如果想实现带运动轨迹的效果,可借鉴supermap上的实例,其效果如下:

在这里插入图片描述

这里稍微做了一些更改,模拟预警点闪烁,不让点移动,代码如下:

data.forEach((attr,index) =>{
    attr.FEATUREID = index,attr.PointTime = 0;
    var pointFeature1 = new SuperMap.Feature.Vector(new SuperMap.Geometry.Point(attr.longitude,attr.latitude),attr,mySelf.style);
                    
    attr.FEATUREID = index,attr.PointTime = 100;
    var pointFeature2 = new SuperMap.Feature.Vector(new SuperMap.Geometry.Point(attr.longitude,attr.latitude),attr,mySelf.style)
    mySelf.pointFeatures.push(pointFeature1,pointFeature2);
})
mySelf.animatorVector.addFeatures(mySelf.pointFeatures);
mySelf.animatorVector.renderer.tail = !mySelf.animatorVector.renderer.tail;
mySelf.animatorVector.animator.start();

把点的开始位置跟结束位置设置为同一个位置,其闪烁位置也就不变。
最后效果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值