该图层用于渲染动态矢量要素。
目的在于表达现实事物在时间上的空间变化,如车辆监控、气象模拟等
SuperMap. |
该图层用于渲染动态矢量要素。 |
Properties | |
animator | {SuperMap.Animator} 动画管理。 用于控制动态图层渲染管理。 |
featureIdName | {String} 确认是同一实物的字段名称。默认为”FEATUREID”。 例如:用户在数据库中存放了车辆监控的信息,其中以字段”CARNAME”作为确认一辆车的唯一标识, 则此处就需要设置 featureIdName = “CARNAME” |
needRecordDrawedFeature | {Boolean} 是否需要记录绘制过的要素,默认为false |
renderer | 渲染方式,在初始化 AnimatorVector 时根据 rendererType 属性生成, 这里只会是动画渲染,即 AnimatorCanvas 或它的子类,如果浏览器不支持则为空 {SuperMap.Renderer} |
rendererType | {String} 渲染类型,当前支持: 1、基本动画渲染:”AnimatorCanvas” 2、点闪烁、尾巴渲染:”TadpolePoint” 3、线伸缩渲染:”StretchLine” 4、点发射渲染:”RadiatePoint” 默认为 “AnimatorCanvas” |
smooth | {Boolean} 是否开启平滑播放效果,默认为true。 平滑播放指在前后两个动画状态之间加入渐变的动画帧, 使动画播放的协调,但相应播放的过多,会导致效率降低。 |
timeName | {String} 确认同一实物的不同时间段的字段名称,默认为”TIME”字段。 例如:用户在数据库中存放了车辆监控的信息,以字段”CARNAME”作为确认一辆车的唯一标识, 其中一辆名称为car1的车在数据库中有很多条数据(每隔一段时间记录一条数据),而使用”CARTIME”来 存放每条数据在获取时的具体时刻,则此处就需要设置 timeName = “CARTIME” |
Constants | |
EVENT_TYPES | {Array(String)} 此类支持的事件类型。 |
Constructor | |
SuperMap. |
创建一个矢量动画图层。 |
Functions | |
addFeatures | 给这个矢量动画图层添加features。 |
destroy | 销毁AnimatorVector图层,释放资源。 |
display | 临时隐藏或者显示图层(地图平移放大缩小后会立即显示)。通过对CSS控制产生即时效果,重新渲染失效。 如果要控制图层的显示和隐藏一般用 setVisibility 方法来实现 |
getDataExtent | 计算所有要素集的最大范围。 |
getDrawedFeatures | 获取已经绘制过的要素数组 |
getFeatureBy | 在Vector的要素数组features里面遍历每一个feature,当feature[property]===value时, 返回此feature(并且只返回第一个)。 |
getFeatureById | 通过给定一个id,返回对应的矢量要素。 |
getFeaturesByAttribute | 通过给定一个属性的key值和value值,返回所有匹配的要素数组。 |
removeAllFeatures | 清除当前图层所有的矢量要素。 |
removeFeatures | 从当前图层中删除feature。这个函数擦除所有传递进来的矢量要素。 参数中的features数组中的每一项,必须是已经添加到当前图层中的feature, 如果无法确定feature数组,则可以调用removeAllFeatures来删除所有feature。 如果要删除的feature数组中的元素特别多,推荐使用removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。 |
setOpacity | 设置图层的不透明度,取值[0-1]之间。使用方法如下详解: |
{SuperMap.Animator} 动画管理。 用于控制动态图层渲染管理。
渲染方式,在初始化 AnimatorVector 时根据 rendererType 属性生成, 这里只会是动画渲染,即 AnimatorCanvas 或它的子类,如果浏览器不支持则为空 {SuperMap.Renderer}
{Array(String)} 此类支持的事件类型。
//使用下面的方法将图层添加到map var animatorVector = new SuperMap.Layer.AnimatorVector("animatorVector", {}, { //设置速度为每帧播放0.05的数据 speed:0.05, //开始时间为0 startTime:0, //每秒渲染12帧 frameRate:12, //结束时间设置为10 endTime:10 }); layer.events.on({"drawfeaturestart": drawfeaturestart}); function drawfeaturestart(feature) { }
创建一个矢量动画图层。
//创建一个名为"AnimatorVector"、采用 Canvas渲染方式渲染的矢量动画图层。 var animatorVector = new SuperMap.Layer.AnimatorVector("AnimatorVector"); //设置速度为每次播放半年的数据 animatorVector.animator.setSpeed(0.5); //设置开始时间为1900年 animatorVector.animator.setStartTime(1900); //设置结束时间为2000年 animatorVector.animator.setEndTime(2000);
name | {String} 此图层的图层名。 |
options | {Object} 此类与父类提供的属性。 |
animatiorOption | {Object} 动画Animator提供的属性。这些属性都可以用过animatorVector.animator来设置。 |
featureIdName | {String} 确认是同一实物的字段名称。默认为”FEATUREID”。 |
timeName | {String} 确认同一实物的不同时间段的字段名称,默认为”TIME”字段。 |
smooth | {Boolean} 是否开启平滑播放效果,默认为true。 |
speed | {Number} 播放速度。不能小于0,默认为1(表示每帧渲染的数据之间的间隔为1),设置越大播放速度越快。 |
startTime | {Number} 播放的起始时间,必须为数字,且小于等于endTime。如果不设置,初始化时为0,建议设置。 |
endTime | {Number} 播放的结束时间,必须为数字,且大于等于startTime。如果不设置,初始化时以当前时间进行设置,建议设置。 |
repeat | {Boolean} 是否重复循环播放。默认为true。 |
reverse | {Boolean} 是否反向播放。默认为false。 |
frameRate | {Number} 帧率,默认为60,即每秒播放60帧动画。由于浏览器每秒渲染60帧是固定的,所以我们只能设置每秒播放的帧数为60、30、20、15、12、10、6、5、4、3、2、1 中的一个 |
{SuperMap.Layer.AnimatorVector} 新的矢量动画图层。
addFeatures: function( features, options )
给这个矢量动画图层添加features。
animatorVector.addFeatures([feature1,feature2,feature3...]);
features | {Array(SuperMap.Feature.Vector)}需要添加的要素数组。(也可以是单个feature) |
removeFeatures: function( features )
从当前图层中删除feature。这个函数擦除所有传递进来的矢量要素。 参数中的features数组中的每一项,必须是已经添加到当前图层中的feature, 如果无法确定feature数组,则可以调用removeAllFeatures来删除所有feature。 如果要删除的feature数组中的元素特别多,推荐使用removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。
features | {Array(SuperMap.Feature.Vector)} 要删除feature的数组。 |
getFeatureBy: function( property, value )
在Vector的要素数组features里面遍历每一个feature,当feature[property]===value时, 返回此feature(并且只返回第一个)。
property | {String} feature的某个属性名称。 |
value | {String} property所对应的值。 |
{SuperMap.Feature.Vector} 第一个匹配属性和值的矢量要素。
getFeatureById: function( featureId )
通过给定一个id,返回对应的矢量要素。
featureId | {String} 矢量要素的属性id。 |
{SuperMap.Feature.Vector} 对应id的feature,如果不存在则返回null。
getFeaturesByAttribute: function( attrName, attrValue )
通过给定一个属性的key值和value值,返回所有匹配的要素数组。
attrName | {String}属性的key。 |
attrValue | {Mixed}属性对应的value值。 |
Array(SuperMap.Feature.Vector) 一个匹配的feature数组。
getDataExtent: function ()
计算所有要素集的最大范围。
{SuperMap.Bounds} 如果没有feature则返回null,否则返回 所有feature的geometry的最大范围。
给这个矢量动画图层添加features。
addFeatures: function( features, options )
从当前图层中删除feature。这个函数擦除所有传递进来的矢量要素。 参数中的features数组中的每一项,必须是已经添加到当前图层中的feature, 如果无法确定feature数组,则可以调用removeAllFeatures来删除所有feature。 如果要删除的feature数组中的元素特别多,推荐使用removeAllFeatures, 删除所有feature后再重新添加。这样效率会更高。
removeFeatures: function( features )
清除当前图层所有的矢量要素。
removeAllFeatures: function()
在Vector的要素数组features里面遍历每一个feature,当feature[property]===value时, 返回此feature(并且只返回第一个)。
getFeatureBy: function( property, value )
通过给定一个id,返回对应的矢量要素。
getFeatureById: function( featureId )
通过给定一个属性的key值和value值,返回所有匹配的要素数组。
getFeaturesByAttribute: function( attrName, attrValue )
销毁AnimatorVector图层,释放资源。
destroy: function()
设置图层的不透明度,取值[0-1]之间。使用方法如下详解:
setOpacity: function( opacity )
临时隐藏或者显示图层(地图平移放大缩小后会立即显示)。通过对CSS控制产生即时效果,重新渲染失效。 如果要控制图层的显示和隐藏一般用 setVisibility 方法来实现
display: function( display )
获取已经绘制过的要素数组
getDrawedFeatures:function()
计算所有要素集的最大范围。
getDataExtent: function ()