您的位置:首页 > Web前端 > CSS

初探GIS Mapxtreme 修改图元样式 实现图元闪烁

2011-02-25 09:10 239 查看
图元闪烁网上资料很多都是通过清空图层内表数据,在重新添加图元新样式信息来实现,这样确实能实现图元的闪烁的效果,但总觉的怪怪的。

首先我们要明确图元闪烁只是图元的样式改变,

其次其一些基本数据无需更改,所以无需清空数据,只需更改表内数据中的图元样式以及其他信息即可,如:点位置。我们也可以通过更改点位置来实现小车动态移动闪烁功能。

通过(Timer)计时器来不断的调用此方法,来实现图元闪烁功能。


///<summary>
///修改点样式
///</summary>
///<paramname="layerName">图层名</param>
///<paramname="map">地图</param>
///<paramname="shortCode">图元Code</param>
///<paramname="color">颜色通过改变颜色来实现闪烁效果</param>
///<paramname="obj">参数</param>publicvoidUpdatePoint(stringlayerName,Mapmap,shortshortCode,Colorcolor,paramsobject[]obj)
{//这里是自定义的临时点信息类
TempPointInfotpi=(TempPointInfo)obj[0];

MapInfo.Mapping.FeatureLayerfeatureLayer=(MapInfo.Mapping.FeatureLayer)map.Layers[layerName];
MapInfo.Data.Tabletable=featureLayer.Table;
MapInfo.Data.SearchInfosi=MapInfo.Data.SearchInfoFactory.SearchWhere("站名='"+tpi.StationName+"'");
//通过查询点数据将层数据修改
Featuref=Session.Current.Catalog.SearchForFeature(table,si);
DPointdp=newDPoint(f.Geometry.GeometricCentroid.x,f.Geometry.GeometricCentroid.y);
MapInfo.Styles.SimpleVectorPointStylesimpleVectorPointStyle=newMapInfo.Styles.SimpleVectorPointStyle(shortCode,color,9);
MapInfo.Styles.CompositeStylecompositeStyle=newMapInfo.Styles.CompositeStyle(simpleVectorPointStyle);
MapInfo.Data.FeaturepointRow=newMapInfo.Data.Feature(table.TableInfo.Columns);
f.Style=compositeStyle;
f.Geometry.EditingComplete();
table.UpdateFeature(f);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: