图层都使用了符号化,因而与Map对象相关的图例项有两个,即图中的lege
ditem0和lege
ditem1,每个lege
ditem都和一个图层相关联。states图层使用的是POP1999属性来进行符号化着色,lege
dgroup内拥有5个lege
dclass对象。30
f三、MapSurrou
d对象模型图例对象Lege
d类的主要接口是ILege
d,使用它可以修改lege
d的属性和获得它的组成对象,如ILege
dltem可以用于获得一个地图图例内的某个图例项(Lege
dltem)。Lege
dltem对象有多种类型,它本身是一个抽象类,拥有Horizo
taIBarLege
dltem、Horizo
talLege
dltemNestedLege
dltem和VerticalLege
dltem四个子类,Lege
dltem对象实现ILege
dltem接口,这个接口定义了Lege
dltem的一般属性,如是否显示标题、是否显示标签,是否出现图层名以及Lege
dltem的宽度和高度等。Lege
dCIassFormat对象用于控制单个Lege
dltem的外观,Patch是一个Lege
dClass中的帮助描述要素着色的图片,如上图中的绿色方框、线和橘色的圆,都是一种Patch,这个类有两个子类:AreaPatch和Li
ePatch。ArcObjects使用Lege
dCIassFormat和Lege
dFormat对象来管理一个图例项内的Patch对象。31三、MapSurrou
d对象模型图例对象privatevoidCreatePatchIGeometrypGeoIPageLayoutpPageLayoutaxPageLayoutCo
trollPageLayoutIGraphicsCo
tai
erpGraphicsCo
tai
erpPageLayoutasIGraphicsCo
tai
erIActiveViewpActiveViewpPageLayoutasIActiveViewIMappMappActiveViewFocusMap从pMap对象获得相关联MapSurrou
d对象(lege
d)ILege
dpLege
dpMapget_MapSurrou
d0asILege
d获得图例的项ILege
dltempLege
dltempLege
dget_Item0ILege
dFormatpLege
dFormatpLege
dFormat创建Patch对象IPatchpPatch
ewAreaPatchClasspPatchGeometrypGeopLege
dFormatDefauItAreaPatchpPatchasIAreaPatchpLege
dRefreshpActiveViewPartialRefreshesriViewDrawPhaseesriViewGraphics
ull
ull32三、MapSurrou
d对象模型指北针对象MarkerNorthArrow是一种用于指示地图空间方位的图形,它其实是ESRINorth字库中的字符符号,字库中的任何一种字体的符号都可以当作指北针使用。MarkerNorthArrow从抽象类NorthArrow继承而来,它是一个MapSurrou
d对象。MarkerNorthArrow对象的两个主要接口是INorthArrow和IMarkerNorthArrow。INorthArrow接口可以设置指北针对象的一般属性,如角度、颜色、尺寸等。IMarkerNorthArrow接口定义了一个属性MarkerSymbol,它用于
f设置指北针的符号,在默认状态下这个符号属于ESRINorth字体。33三、MapSurrou
d对象模型比例尺对象地图是现实世界的抽象反映,地图上的图形与现实存在的物体间存在一定的比例关系,为了显示这种比例,所有的地图都需要设置一个比例尺来说r