DMap2.5的详细设计文档

上传人:Sc****h 文档编号:116824067 上传时间:2022-07-06 格式:DOC 页数:50 大小:1.25MB
收藏 版权申诉 举报 下载
DMap2.5的详细设计文档_第1页
第1页 / 共50页
DMap2.5的详细设计文档_第2页
第2页 / 共50页
DMap2.5的详细设计文档_第3页
第3页 / 共50页
资源描述:

《DMap2.5的详细设计文档》由会员分享,可在线阅读,更多相关《DMap2.5的详细设计文档(50页珍藏版)》请在装配图网上搜索。

1、DMap2.5的详细设计文档(一) 简要的说明DMap2.5版本主要是承载公司的二维的地图展现。产品化理念中。现状:DMap2.5不增加功能,只是进行日常的维护工作。未来:DMap2.5 会变成后台的服务的程序。(二) 总体的类图以下的说明按照如下的表格进行:注意的事项:1 类当中只有属性。暂时没有注明方法2 具体的详情,可以查看 DMap2.5说明文档.chm 说明文档。3 按照下面网格格式:类名称职能属性说明方法 传入参数说明传出参数说明(三) 总体的类说明1. MapControl类类名称MapControl职能负责地图的展现的自定义控件属性说明fullMapExtent全图视野acti

2、veTool当前地图工具的操作clikeDetal点击的误差范围,像素为单位ptsStart鼠标操作起点firstDraw指示多边形绘制中是否是第一条绘制。ptsPrevious前次鼠标操作inAction指示某次操作是否开始zoomBonderColor放大缩小中绘制橡皮线所用的边框的颜色selectionBonderColor查询操作中绘制橡皮线所用的边框的颜色lineColor距离测量中绘制橡皮线所用的颜色selectionMinPixel拉框放大缩小操作中最小允许的范围,如果拉框太小,则默认放大或缩小1.5倍controlKey指示是否按下Control健showBonder是否显示边

3、框curLon表示当前鼠标经度curLat表示当前鼠标纬度mouseWhileEventVisiable鼠标移动事件开口mapImage地图图片currentLayer当前图层pointChain测距操作时候用的临时点链变量coruscateTimer计时器polygonFillLegend绘制临时面时所使用的面样式polylineLegend绘制临时线时使用的样式flashObjectList_动画对象列表EagleEyeBox鹰眼的图片coruscationObjectList闪烁对象集合map地图对象prevCursor用于保存光标的变量syncObj画对象和重画事件,因为动画对象是在另

4、外一个线程执行timerFlash闪烁的计时器EagleEyeRectPen鹰眼中绘制矩形框的颜色cursorDict光标映射表_dataCache数据缓存needClearLastLine给定一个值,标识true=在鼠标移动时擦除最后一次绘制的线条timer_FlashObject时间闪烁计时器lastDownSP上一次按下的坐标缓存点mouseLocation鼠标的位置hoverTimeOut悬浮时间的间隔timerHover悬浮时间的计时器方法 传入参数说明传出参数说明2. Map类类名称Map职能投影转化, 获取图片属性说明backColor背景色fullExtent全图的视野view

5、Extent当前的视野lastViewExtent上一个的视野范围maximumZoom最大的显示的zoomminimumZoom最小的显示的zoomsize对应的大小zoom当前的zoom值Tolerance获取或设置像素容差值worldTolerance获取或设置实际容差值的平方isClip是否对标注进行裁剪smoothingMode是否启用平滑处理graphicsUnit获取或设置作图单位dirty指示是否需要重新生成图片_dataCache数据缓存gridPositionVisiable网格图层索引eagleEyeMap鹰眼的地图对象specialObjects特殊的对象集合gridL

6、ayer网格的图层flashImg闪烁的图片flashGeomrtrys闪烁点的集合imageCache缓存每个图层生成的图片syncObj同步的对象internalImage内部的对象imgLabels所有标注形成的图片imgLayers所有图层形成的图片hitCheck对应的碰撞检测类selectedGeometries选中工具中的选择矢量对象trackingLayer临时的图层对象layers图层的集合_ClientRectangle自定义的矩形框eagleEyeVisible鹰眼的对象是否显示displayAllInOne是否一次性显示所有图层方法 传入参数说明传出参数说明GetMap

7、2-(生成地图图片)bool eagleEye, bool flashing图片GetMap2无图片GetFlashImage-(生成一张闪烁图片)bool flashing图片InterIncrement-(增加请求绘制的计数)无无CustomerSetViewExtent-(手动设置视野范围)BoundingBox value-视野范围无ChangeProjectionOnlySelf-(只改变自身的投影方式(Map成员),以及临时图层和选择图层的投影方式)IProjections projection无ChangeProjection-(改变所有图层的投影方式)IProjections

8、projection, Progress step无ZoomToExtents-(缩放到全视图)无无WorldToImage-(投影坐标转换为屏幕坐标)StructPoint pPointFWorldToImage-(投影坐标转换为屏幕坐标)PointF pPointFWorldToImage-(将一个投影坐标表示的矩形框转换成像素坐标的矩形框)BoundingBox boxRectangleFWorldToImage-(投影坐标转换为屏幕坐标)double x, double yPointFImageToWorld-(屏幕坐标-投影坐标)ref PointF pStructPointImag

9、eToWorld-(屏幕坐标-投影坐标)float x, float yStructPoint3. Layer 类类名称Layer类职能矢量图层的绘制属性说明visible是否显示minVisible最小zoom值显示maxVisible最大zoom值显示labelMinVisible标注的最小zoom值显示labelMaxVisible标注的最大zoom值显示_extent边界的范围id对应的编号sortID排序的ID编号isDirty是否是脏数据usingLayerLegend是否统一用图层的样式usingLayerLable是否统一用图层的标注usingLayerRichLable是否统

10、一用图层的富文本标注isLabelVisible标注的是否可见isRichLabelVisible是否富文本标注isSearchable是否为可收索的标示layerName图层的名称foreLegend图层的默认样式labelLegend图层的标注样式richLabelLegend图层的富文本样式layerCollection图层的集合map对应的地图的对象flashLegend闪烁的样式方法 传入参数说明传出参数说明BeforeRender-(在绘制之前进行的方法)Graphics g, DMap.Map.Map map, RenderArgumCache cache无AfterRender

11、-(绘制之后进行的方法)Graphics g, DMap.Map.Map map, RenderArgumCache cache无Render-(呈现)(Graphics g, Map.Map map)无DrawLable-(绘制标注)Graphics g, Map.Map map无ChangeProjection-(改变图层的投影方式)ProjectionsBase originProj, ProjectionsBase projection无ChangeProjection-(改变图层的投影方式.)ProjectionsBase originProj, ProjectionsBase pr

12、ojection无CompareTo-(按照图层ID比较图层)Layer otherintClearVisibleChangedEvent-(清除改变事件方法)无无4. CloudLayer 类类名称CloudLayer类职能云图的类的展现属性说明ImagePath获取或设置图片文件所在文件系统位置Extent图层的边界LayerType获取该图层的类型Image获取或设置需要被绘制的图片方法 传入参数说明传出参数说明Render-(呈现)Graphics g, DMap.Map.Map map呈现DrawLable-(绘制标注)Graphics g, DMap.Map.Map map绘制标注

13、ChangeProjection-(改变图层的投影方式)DMap.CoordinateSystems.IProjections originProj, DMap.CoordinateSystems.IProjections projection改变图层的投影方式5. GridLayer 类类名称GridLayer职能地图的网格的展现属性说明font对应的绘制的字体fontBrush对应的字体的画刷linePen线绘制的画笔smallGridUnit小网格的单位的定制smallGridLinePen小网格线画笔smallGridFlag小网格图层标识方法 传入参数说明传出参数说明Render-(

14、呈现)System.Drawing.Graphics g, DMap.Map.Map map无DrawLable-(绘制标注)System.Drawing.Graphics g, DMap.Map.Map map无RenderSystem.Drawing.Graphics g, DMap.Map.Map map无6. RasterLayer 类类名称RasterLayer职能遥感图的图层显示属性说明NoConnectionBitmap没有图层链接时候的图片LayerType图层的类型BagFileName获取该对象所显示的遥感图文件全路径_Offset对应的偏移量EnableRemot是否从服

15、务器加载遥感图方法 传入参数说明传出参数说明7. SearchableLayer 类类名称SearchableLayer职能定义一个可收索的图层基类属性说明方法 传入参数说明传出参数说明8. TrackingLayer类名称TrackingLayer职能临时图层-负责各个点,线,面样式属性说明GeometryCheck图元碰撞GeometryCheckPiexl图片碰撞像素_labelHitFlag标注的碰撞标示Legends图例样式对象集GeometriesCount临时图元对象数目LegendsCount图例数目Extent对应的范围LayerType获取该图层的类型枚举Geometrys

16、获取该临时图层所有图元列表UsingExpressionSearch是否启动表达式收缩GetGeometries(string expression),默认不启动,启动后会降低移除图元的性能方法 传入参数说明传出参数说明9. VectorLayer类名称VectorLayer职能对应于矢量图层的内容属性说明Extent获取该图层的边界DataSource获取或设置矢量图层的数据源GeometryType获取该图层的图元类型GeometryCount获取图元个数LayerType获取该图层的类型ShapeFileName获取当前矢量图层所指向的SHP文件方法 传入参数说明传出参数说明10. Sp

17、ecialObjectLayer类名称SpecialObjectLayer职能特殊的作图图层属性说明Instance获取该类的唯一实例ArrowLst对应的标示TextLst文本的列表LayerType图层的类型方法 传入参数说明传出参数说明11. IsolineLayer 类类名称IsolineLayer职能等值线图层的绘制类属性说明方法 传入参数说明传出参数说明说明(略) 具体的查看等值线设计的详细的文档12. IProjections 接口类名称IProjections职能对应的数据的投影属性说明方法 传入参数说明传出参数说明13. Geometry 类类名称Geometry职能矢量数据

18、的基类属性说明Extent获取或设置该图元的边界,这是一个十分重要的属性,DMap将会根据这个值来判断是否绘制图元,注意投影转换时对该值的必要改变Legend获取或设置该图元的样式LabelLegend获取或设置该图元所使用的单标注图例RichLabelLegend获取或设置该图元的富标注图例Feature获取或设置该图元的属性行Center中心点Visible该图元是否可见Layer图元所属的图层Id图元的ID (Id=ID 为了兼容旧版本而定义的一个属性)ID图元的ID (Id=ID 为了兼容旧版本而定义的一个属性)RichLabels获取或设置该图元的富标注Labels获取或设置该图元的

19、富标注Name获取该图元的名称Idno获取或设置该图元的IdnoUseLayerStyle获取该图元是否使用的是图层的样式,该属性和UsingLayerLegend是一致的UsingLayerLegend获取该图元是否使用的是图层的样式,该属性和UseLayerStyle是一致的IsLabelVisible获取或设置该图元的标注是否可见,如果图层的IsLableVisible=false那么该图元标注永远不可见IsRichLabelVisible获取或设置该图元的复标注是否可见,如果图层的IsRichLableVisible=false那么该图元复标注永远不可见FlashLegend获取或设置

20、闪烁图元时的背景图例Text获取或设置将要显示的文本GeometryType获取图元类型LegendSetted获取或设置在自动设置图例时该图例是否已经被设置过EnableFlash获取或设置是否允许该图元闪烁(不支持旧版闪烁方式)UsingLayerLabel获取或设置是否使用图层的标注样式UsingLayerRichLabel获取或设置是否使用图层的复标注样式MoveableState获取该控件在绘制和移动是是按照像素坐标还是地图坐标DownPoint标点击时的鼠标坐标(用屏幕坐标表示)LastLocation最后一次所在的像素位置Moveable获取或设置该图元是否可以在地图上可以拖动O

21、rigin获取或设置该图元所相对的坐标原点(该属性只有在图元的Moveable属性为true,并且MoveableState属性为ForControl时才有效)MinVisible最小的Zoom值显示MaxVisible最大的Zoom值显示LabelMinVisible标注值的最小显示LabelMaxVisible标注值的最大显示UsingLabelLegend判断是否为唯一方法 传入参数说明传出参数说明(四) 矢量显示的类图1. 类图2. Point 类类名称Point职能点的数据对象。属性说明XX轴坐标值YY轴坐标值Center中心点LabelList其余的标注对象IsEmpty判断是否为

22、空Extent对应的范围方法 传入参数说明传出参数说明3. Polyline 类类名称Polyline职能线图形类属性说明Chains返回所有链的列表GeometryType点的类型NumParts链的总数NumPoints点的总数Extent获取或设置边界ClipChains切割的线方法 传入参数说明传出参数说明4. 线Polygon 类类名称Polygon职能面的显示属性说明Chains返回所有的链列表Extent获取或设置该面目标的边界GeometryType图元的类型Count返回多边形的总数NumParts返回链的总数NumPoints返回点的总数ClipPolygon切割的多边形M

23、axSqrDistance最大的距离方法 传入参数说明传出参数说明5. BoundingBox 类类名称BoundingBox职能矩形框属性说明Min最小值坐标Max最大值坐标Left获取左边缘的 x 坐标Right获取右边缘的 x 坐标Top获取上边缘的 y 坐标Bottom获取下边缘的 y 坐标MinX获取左边缘的 x 坐标。MaxX获取右边缘的 x 坐标MaxY获取上边缘的 y 坐标MinY获取下边缘的 y 坐标Width获取边界宽度Height获取边界高度Center中心点IsEmpty返回该矩形是否为一个不存在的矩形(Min=StructPoint.Empty 或 Max=Struc

24、tPoint.Empty)LT左上的点LB左下的点RT右上RB右下方法 传入参数说明传出参数说明6. StructPointCollection 类职能:点数据集合说明:属性说明Length获取包含在 System.Collections.CollectionBase 实例中的元素数.SyncRoot获取可用于同步 System.Collections.ArrayList 访问的对象。Disposed获取该集合是否已经释放Capacity对应的容量BoundingBox返回链的边界 和Extent等效7. Chain类职能:线的断裂线说明:属性说明8. ChainCollection职能:线的

25、断裂线的集合说明属性说明9. MultiPoint职能:多点的坐标说明:属性说明Chain返回所有点组成的链Count返回点的总数Extent获取或设置边界10. PolygonCollection职能:多边形的集合说明:Length获取包含在 System.Collections.CollectionBase 实例中的元素数.Tag获取或设置TagSyncRoot获取可用于同步 System.Collections.ArrayList 访问的对象。Disposed获取该集合是否已经释放11. Circle职能:圆形的图元类说明:属性说明Radius半径GeometryType图元类型Exte

26、nt对应的范围12. CoordinateOrigin职能:坐标原点体系说明:属性说明LeftTop控件左上角LeftBottom控件左下角RightTop控件左下角RightBottom控件右下角RightTop控件右上角13. MoveableState职能:可移动的标示描述说明:属性说明ForMap标识移动方式为相对于地图(在放大缩小拖动地图是,指定对象的位置相对于地图位置动态调整)ForControl标识移动方式为相对于控件(在放大缩小拖动地图时,指定对象的位置不相对与地图位置而改变)14. Legend职能:图元的绘制的样式基类说明属性说明ID对应的IDName名称Size图例大小L

27、egendType图例的类型IsDefault获取该图例是否为默认图例TagCollection获取临时存储类型集合(DMap内部兼容模式下需要使用到该属性,二次开发使用时会造成不稳定,禁止使用)索引位置:0为3D样式兼容时所使用到的纹理对。IsLabelLegend获取该图例是否为标注图例15. CircleLegend职能:圆的绘制图例说明:属性说明FillBrush图例的填充画刷LinePen图例的边线画笔Default默认的对象IsDefault获取该图例是否为默认图例LegendType样式类型16. PointLegend职能:点的图例说明。说明:属性说明InnerFillColo

28、r图例的填充颜色OuterLineColor图例的边线颜色MarkStyle图例的类型Picture图片图例所使用的图片Image图片图例所使用的图片Default获取或设置默认点图例Offset获取或设置标注偏移量Angle角度IsDefault获取该图例是否为默认图例LegendType返回图例类型的枚举17. PolygonLegend职能:多边形的样式说明:属性说明BorderPen获取或设置用于绘制面的边框画笔FillBrush获取或设置用于填充面的画刷IsDefault获取该图例是否为默认图例LegendType样式的类型Default默认的单例对象18. PolylineLege

29、nd职能线的样式说明属性说明Default获取或设置默认的线图例LinePen设置或获取绘制线的画笔IsDefault获取该图例是否为默认图例LegendType返回图例类型的枚举CompressFlag是否压缩标识 默认是压缩为true19. RailwayLegend职能:铁路线的样式说明:属性说明LineWidth线的宽度Detal每一小段的长度FirstSeg第一段的颜色SecondSeg第二段的颜色Default获取或设置默认铁路图例LegendType样式类型IsDefault获取该图例是否为默认图例20. RichLabelLegend职能:提供一个多文本标注的样式类说明:属性说

30、明Default单例的对象IsDefault获取该图例是否为默认图例LegendType返回图例类型的枚举IsLabelLegend是否是标注图例21. StreetLegend职能:提供一个街道图例说明:属性说明Default单例对象BonderColor边框颜色FillColor填充颜色LineColor中间线的颜色LineWidth线的宽度IsDefault获取该图例是否为默认图例LegendType返回图例类型的枚举22. CircleLegend职能:提供一个圆的图例说明:属性说明FillBrush图例的填充画刷LinePen图例的边线画笔Default单例对象IsDefault获取

31、该图例是否为默认图例LegendType得到样式类型23. FontLegend职能:字体的图例说明:属性说明FontBrush绘制字体所用的画刷BorderBrush字体的画刷Font字体Text文本Default获取或设置默认的字体图例IsDefault获取该图例是否为默认图例LabelStyle标注的类型24. GreatWallLegend职能:长城线的样式说明:属性说明Height线的高度(半边高度)Width每一小格的宽度LineColor线的颜色Default获取或设置默认长城线图例IsDefault获取该图例是否为默认图例LegendType获得图例样式25. LabelLeg

32、end职能: 提供一个标注显示的样式类说明:属性说明LabelPosition获取或设置标注位置Font获取或设置字体FontColor获取或设置字体颜色Manual获取或设置标注是否自动调整标注的位置OffSet获取或设置标注的偏移量Size获取该标注图例单个字的文字大小IsNewLine表示是否重新开始一个标注行,该值只有在复标注集合中有意义LabelStypeType获取或设置标注类型 和 LabelStyleType 是同一个属性LabelStyle获取或设置标注类型BorderColor获取或设置边框色Default获取默认的标注图例对象LabelColumn获取或设置用于显示标注的

33、列名IsDefault获取该图例是否为默认图例LegendType返回图例类型的枚举IsLabelLegend获取该图例是否为标注图例ZoomMaxVisiblezoom值最大变化绘制ZoomMinVisiblezoom值最小变化绘制26. LabelPosition职能:用于描述标注文本相对于对象中心点的方向说明:属性说明Center中心Top正上方Bottom正下方Left左方Right右方LeftTop左上方RightTop右上方LeftBottom左下方RightBottom右下方27. Label职能:标注基类说明:属性说明LabelPosition获取或设置标注位置Manual获取

34、或设置标注是否自动调整标注的位置Offset获取或设置标注的偏移量28. RichLabel职能:复合标注说明:属性说明LabelList标注列表NewLineMarkList新的一行标注列表LineHeight行的高Size大小PreSize之前的大小29. TextLabel职能:文本标注。说明:属性说明LabelStyle标注样式LabelText标注文本30. ImageLabel职能:图片的标注说明:属性说明Image标注所用的图片size标注大小31. FancyTextStyle职能:轮廓字文本样式说明:属性说明BonderColor边框的颜色32. LabelStyle职能:普

35、通文本标注样式说明:属性说明IsDirty是否脏数据Name名字ID标示Font字体FontColor标注的字体颜色33. UserLineLegend职能:自定义线样式说明:看自定义线样式(五) 投影类图1. 类图2. ProjectionsBase 类职能:投影抽象类。说明:属性说明3. AzimuthalEquidistantProjection 类职能:方位等距离投影说明:属性说明CenterLatitude中心的维度CenterLongitude中心的经度ProjectionType投影类型Name名称4. DefaultProjections职能:默认投影,不进行变换说明:属性说明

36、ProjectionType投影类型Name名称5. GaussProjections职能:高斯投影说明:属性说明Name名称ProjectionType投影类型6. LambertProjections职能:兰伯特的投影说明:属性说明Name名称ProjectionType投影类型7. MercatorProjection职能:墨卡托的投影说明:属性说明Name名称ProjectionType投影类型8. SGProjections职能:说明:属性说明ProjectionType投影类型Name名称9. IProvider职能:数据提供接口说明:属性说明ShapeTypeShape文件类型L

37、ayerName图层名称10. ShapeFile职能:Shape文件读写取器说明:属性说明LayerName图层名称ShapeType获取图层的类型IsOpened指示数据源是否已经打开Layer指示数据源所关联的图层对象FileName该数据源所关联的文件名Extent获取该图层的边界GeometryType矢量类型11. ShapeType职能:文件类型说明:属性说明Null = 0,Null Shape(不?含?坐?标)PointPoint(点状目标,但不是多点)PolyLinePolyLine(线状目标)Polygon Polygon(面状目标)MultipointMultiPoin

38、t(多点,即点集合)PointZPointZ(三维点状目标)PolyLineZPolyLineZ(三维线状目标)PolygonZPolygonZ(三维面状目标)MultiPointZMultiPointZ(三维点集合目标)PointMPointM(含有Measure值的点状目标)PolyLineMPolyLineM(含有Measure值的线状目标)PolygonMPolygonM(含有Measure值的面状目标)MultiPointMMultiPointM(含有Measure值的多点目标)MultiPatch复合目标12. DMap2dSetting职能:2D的参数配置说明属性说明Enable

39、PolygonLabel启用面标注,获取或设置是否启用面标注样式,true=启用(会降低地图绘制性能),false=禁用(会提高地图绘制性能)EnablePolygonFillter启用边界过滤, 设置是否在绘制面图元时对其边界进行过滤,true=启用(将会提高DMap性能), false=禁用EnableLayerLable绘制面图元时对其边界进行过滤,true=启用(将会提高DMap性能), false=禁用EnableRemoteRaster获取或设置在实例化遥感图层(RasterLayer)的时候,如果不指定是否启用遥感图选项时的默认状态EnableHitChecktrue=在进行标注

40、绘制时开启碰撞检测,该功能可能导致同一地区标注过多时部分标注会被隐藏,false=关闭检测UsingLayerLegend设置地图是否默认使用图层图例样式默认值trueUsingLayerLabel设置地图是否默认使用图层标注样式默认值trueUsingLayerRichLabel设置地图是否默认使用图层富标注样式默认值trueIsDisposeAlltrue=在调用MapControl.Dispose()方法时级联调用所引用对象的Dispose()方法 false则反之,默认值=falseInvalidateSubControltrue=在刷新地图的同时刷新子控件RSMGridInfotru

41、e=在绘制遥感图时绘制其网格信息 false=不绘制,默认值=falseCompatibleMode标识DMap以旧版兼容模式运行 true=旧版兼容模式,false=正常模式DMapDebugAssembly标识是否启用DMap内部调试器(六) 功能点的详细的分析1. DMap的绘制的流程如图:如下的说明:(1) 使用者刷新MapControl的对象(2) MapControl对象调用Map的GetMap的方法(3) Map在遍历一个Layers的所有的图层。(4) 每一个图层都遍历一下Geometry的对象。(5) 每一个Geometry的对象都遍历一下Legend的对象。(6) 最后成为

42、一张图在MapControl上面绘制出来。2. 地图的索引机制说起地图,就不得不说地图的索引机制。DMap2.5 二维的系统,确切是使用传统四叉树的索引机制。如下图:说明:(1) 四叉树索引的特性有如下: 1.1 递归地将区域划分为四块1.2 每个区域有最大容纳的节点数,如果超出就分裂1.3 叶节点包含指向数据节点的指针(2) 平面上面的点说明 平面上每个区域代表一个节点,每个节点有最大容纳的子节点数目,如果超过,就递归地将此节点分裂为四个子节点,直到能够容纳全部节点。其中叶子节点包含了 指向数据的指针,用于取得数据。下图显示了平面区域(0, 0)到(100, 100)中插入八个点的例子,其中

43、每个区域最多容纳一个点,超过就要分裂这个区域,直到满足这一条件。我们将A、C、D定义为非叶子节点,B、E、F定义 为叶子节点,黑色方块定义为数据节点。3. 地图的碰撞机制如下图:说明:(1) 调用者第一部先创建一个HitCheck的碰撞检测类。(2) hitCheck类在循环遍历Geometry的矢量的点。(3) HitCheck内部做的是矩形的碰撞判断。判断是否这个图元在该区域内。4. 旧版的闪烁功能说明:1 使用者新建一个CoruscationObject的闪烁对象2 MapControl对象上添加一个新的闪烁对象CoruscationObject3 MapControl对象子调用闪烁。5

44、. 新版的闪烁功能对应的时序图:说明: 1 使用者先新建一个点的对象,赋值Geometry的FlashLegend来设定闪烁的图例。 2 MapControl的添加一个闪烁的对象FlashGeometrys来添加一个闪烁的对象。 3 MapControl的内部Map添加一个FlashGeometry 来添加一个闪烁的对象。4 调用MapControl 的startFlash 来闪烁图元的对象。6. 新旧版的闪烁功能区别(1) 新版功能的机制是生成一张大背景透明的图片来跟现在的地图来回的叠加在一起。(2) 旧版的机制是每一个图元都自己生成一个图片来跟原来的图片来回的切换来达到闪烁。(3) 从性能

45、上面看,新版的确实可以解决大数据量的闪烁的问题。旧版的显示更加趋近于小数据量的显示。7. 动画图元的闪烁功能如图:说明:(1) 调用者第一步先创建一个FlashObject的对象(2) 向MapControl的对象方法添加一个AddFlashObject的对象。(3) MapControl的对象自身的刷新操作。8. 投影转化的功能对应的图:说明:(1) 调用者调用MapControl的ChangeProjection的方法(2) MapControl调用Map的ChangeProjection的方法。(3) Layers又都调用ChangeProjection的方法。(4) Layers 又调

46、用Geometry的对象ChangeProjection的方法(5) 最后完成整个投影的转化。9. 视野改变的功能如图说明:(1) 使用者调用MapControl的Extent的范围。改变对应的范围。(2) Map对象调用的GetMap的方法(3) 成图的流程看DMap的成图的流程图。10. 添加遥感图的功能如图:说明:(1) 调用者新建一个遥感图的图层。(2) MapControl的Layers加一个遥感图的图层。(3) MapControl通过ClientIndex的类插值对应的图片。然后再绘制在图片上面(4) MapControl的自我的刷新。11. 添加等值线的功能这边略写,详细的你可

47、以查看 等值线相关详细设计说 。12. 添加自定义线样式的功能这边略写,详细的你可以查看。线条样式相关详细设计说明。13. 临时图层的功能介绍临时图层比其他的图层。最大的特点是(1) 可以随意的添加点,线和面。(2) 可以个性的定制点,线和面的样式 所以临时图层被运用得很广泛。14. 地图工具的功能介绍MapControl控件内部集成了15种地图工具,他们实际上是用一个枚举类型来定义的,实际上是对一些常用的功能进行封装,以便快速开发。当我们需要更改地图工具时,只要为MapControl的MapTool属性或者ActiveTool属性赋值即可。 None=0:定义了地图鼠标无任何动作 ,光标呈现

48、为普通的箭头,鼠标点击和滚轮事件都由二次开发决定,但不影响地图悬停事件 Pan=1:定义了当前地图动作为漫游, 光标呈现一个手型,在按住鼠标左键时可以抓住地图进行拖动达到改变地图视野漫游的效果,向前滚动滚轮进行放大操作,向后滚动滚轮进行缩小操作ZoomIn=2:定义了当前地图动作为放大,光标呈现为一个放大镜,点击鼠标左键可以对地图进行放大,向前滚动鼠标滚轮可以进行放大操作,向后滚动鼠标滚轮可以进行缩小操作ZoomOut=3:定义了当前地图动作为缩小,光标呈现为一个缩小镜,点击鼠标左键可以对地图进行缩小,向前滚动鼠标滚轮可以进行放大操作,向后滚动鼠标滚轮可以进行缩小操作ClickQuery=4:

49、定义了当前地图动作为点击查询,光标呈现为一个带十字准心的黑色箭头,在左键点击地图时,会引发一次MapQueried事件 MeasureDistance=5:定义了当前地图动作为测距,光标呈现为一个带十字准心的计算器,左键点击地图会记录测距点,双击或者右键单击,会引发一次DistanceMeasured事件RectangleQuery=6:定义了当前地图动作为矩形查询,光标呈现为一个带十字准心的矩形,左键点击地图并拖动会绘制一个矩形,松开左键,会引发一次MapQueried事件EllipseQuery=7:定义了当前地图动作为圆形查询,光标呈现为一个带十字准心的圆形,左键点击地图并拖动会绘制一个

50、圆形,松开左键,会引发一次MapQueried事件PolygonQuery=8:定义了当前地图动作为多边形查询,光标呈现为一个带十字准心的三角形,左键点击会记录顶点并绘制多边形,双击或者右键点击会引发一次MapQueried事件TrackPolyline=9:定义了当前地图动作为绘制线条,光标呈现为一个带十字准心的三角形,左键点击会记录顶点并绘制多边形,双击或者右键点击会引发一次Tracked事件TrackRectangle=10:定义了当前地图动作为绘制矩形,光标呈现为普通的箭头,左键点击地图并拖动会绘制一个矩形,松开左键会引发一次Tracked事件TrackEllipse=11:定义了当前

51、地图动作为绘制矩形,光标呈现为普通的箭头,左键点击地图并拖动会绘制一个矩形,松开左键会引发一次Tracked事件TrackPolygon=12:定义了当前地图动作为多边形查询,光标呈现为普通的箭头,左键点击会记录顶点并绘制多边形,双击或者右键点击会引发一次Tracked事件BuildArrow=13:定义了当前地图动作为绘制箭头,光标呈现为带一个向右的箭头普通的箭头,左键点击会记箭头轨迹点,右键点击会在地图上绘制一个箭头,可以再次右击箭头进行编辑BuindText=14:定义了当前地图动作为绘制箭头,光标呈现为带一个ABC字样的普通箭头,左键点击可以输入文本,右键点击会将文本定在地图上,可以再次右击文本进行编辑(七) 简单的例子跟程序的注意事项1. 简单的MapControl的例子:/关闭DMap进行面标注绘制功能 DMap.DMap2dSetting.EnablePolygonLabel = false; /创建一个MapControl实例 DMap.Map.MapControl map = new DMap.Map.MapControl();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!