com.supermap.data

类 GeoLegend

  • 所有已实现的接口:
    IDisposable


    public class GeoLegend
    extends Geometry
    该类继承自 Geometry 抽象类。需要关联地图名和工作空间进行使用,当设置标题,图例项是否可见等内容时,需要调用 load() 方法,设置才起作用。 可以使用 getInnerGeometry() 方法来控制图例项的显示内容和位置。
    • 构造器详细资料

      • GeoLegend

        public GeoLegend(GeoLegend geoLegend)
        根据给定的 GeoLegend 对象构造一个与其完全相同的新对象。
        参数:
        geoLegend - 给定的 GeoLegend 对象
      • GeoLegend

        public GeoLegend(String mapName,
                         Workspace workspace,
                         String title)
        根据指定的参数来构造一个 GeoLegend 的新对象。
        参数:
        mapName - 关联地图的名称。
        workspace - 关联的工作空间。
        title - 图例的标题。
      • GeoLegend

        public GeoLegend(String mapName,
                         Workspace workspace)
        根据指定的参数来构造一个 GeoLegend 的新对象。
        参数:
        mapName - 关联地图的名称。
        workspace - 关联的工作空间。
    • 方法详细资料

      • getMapName

        public String getMapName()
        返回地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。
        返回:
        地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。
      • setMapName

        public void setMapName(String mapName)
        设置地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。
        参数:
        mapName - 地图几何对象所关联的地图名称
      • getTitle

        public String getTitle()
        返回图例标题。
        返回:
        图例标题。
      • setTitle

        public void setTitle(String title)
        设置图例标题。
        参数:
        title - 图例标题
      • getBackGroundStyle

        public GeoStyle getBackGroundStyle()
        返回背景的风格。
        返回:
        背景的风格。
      • setBackGroundStyle

        public void setBackGroundStyle(GeoStyle geoStyle)
        设置背景的风格
        参数:
        geoStyle - 背景的风格
      • getTitleStyle

        public TextStyle getTitleStyle()
        返回图例标题风格。
        返回:
        图例标题风格。
      • setTitleStyle

        public void setTitleStyle(TextStyle textStyle)
        设置图例标题风格。
        参数:
        textStyle - 图例标题风格
      • getItemTextStyle

        public TextStyle getItemTextStyle()
        返回图例项说明的文本风格。
        返回:
        图例项说明的文本风格。
      • setItemTextStyle

        public void setItemTextStyle(TextStyle textStyle)
        设置图例项说明的文本风格。
        参数:
        textStyle - 图例项说明的文本风格。
      • getSubItemTextStyle

        public TextStyle getSubItemTextStyle()
        返回图例子项(如专题图)说明的文本风格。
        返回:
        图例子项(如专题图)说明的文本风格。
      • setSubItemTextStyle

        public void setSubItemTextStyle(TextStyle textStyle)
        设置图例子项(如专题图)说明的文本风格。
        参数:
        textStyle - 图例子项(如专题图)说明的文本风格。
      • getLeftMargin

        public double getLeftMargin()
        返回边框向左扩充的距离。
        返回:
        边框向左扩充的距离。
      • setLeftMargin

        public void setLeftMargin(double value)
        设置边框向左扩充的距离。
        参数:
        value - 边框向左扩充的距离。
      • getRightMargin

        public double getRightMargin()
        返回边框向右扩充的距离。
        返回:
        边框向右扩充的距离。
      • setRightMargin

        public void setRightMargin(double value)
        设置边框向右扩充的距离。
        参数:
        value - 边框向右扩充的距离。
      • getTopMargin

        public double getTopMargin()
        返回边框向上扩充的距离。
        返回:
        边框向上扩充的距离。
      • setTopMargin

        public void setTopMargin(double value)
        设置边框向上扩充的距离。
        参数:
        value - 边框向上扩充的距离。
      • getBottomMargin

        public double getBottomMargin()
        返回边框向下扩充的距离。
        返回:
        边框向下扩充的距离。
      • setBottomMargin

        public void setBottomMargin(double value)
        设置边框向下扩充的距离。
        参数:
        value - 边框向下扩充的距离。
      • getColumnCount

        public int getColumnCount()
        返回图例项的列数。
        返回:
        图例项的列数。
      • setColumnCount

        public void setColumnCount(int count)
        设置图例项的列数。
        参数:
        count - 图例项的列数。
      • getItemNames

        public String[] getItemNames()
        返回图例项的名称的数组。
        返回:
        图例项的名称的数组。
      • isItemVisible

        public boolean isItemVisible(String itemName)
        返回图例项是否可见。
        参数:
        itemName - 指定的图例项名称。
        返回:
        true表示图例项可见,否则不可见。
      • setItemVisible

        public void setItemVisible(String itemName,
                                   boolean value)
        设置图例项是否可见。
        参数:
        itemName - 指定的图例项名称。
        value - 图例项是否可见。
      • getWorkspace

        public Workspace getWorkspace()
        返回关联的工作空间,默认是返回到该图例对象所属的工作空间对象。
        返回:
        返回关联的工作空间。
        默认值:
        默认是返回到该图例对象所属的工作空间对象。
      • getCenter

        public Point2D getCenter()
        返回二维矩形几何对象的中心点。
        返回:
        二维矩形几何对象的中心点。
      • setCenter

        public void setCenter(Point2D value)
        设置二维矩形几何对象的中心点。
        参数:
        value - 二维矩形几何对象的中心点。
      • getWidth

        public double getWidth()
        返回地图图例对象的宽度。
        返回:
        地图图例对象的宽度。
      • setWidth

        public void setWidth(double value)
        设置地图图例对象的宽度。
        参数:
        value - 地图图例对象的宽度。
      • getHeight

        public double getHeight()
        返回地图图例对象的高度。
        返回:
        地图图例对象的高度。
      • setHeight

        public void setHeight(double value)
        设置地图图例对象的高度。
        参数:
        value - 地图图例对象的高度。
      • load

        public void load(boolean isAddToScreenLayer)
        加载设置的内容。
        参数:
        isAddToScreenLayer - 是否添加到屏幕图层。加载到屏幕图层的图例,将不随布局和地图的缩放而变化,这样在进行布局浏览时,可以获得较好的显示效果;但在进行布局打印时,不建议用户将图例加载到屏幕图层,直接加载到布局即可。
      • getInnerGeometry

        public GeoCompound getInnerGeometry()
        返回图例包含的复合几何对象(GeoCompound)。
        返回:
        图例包含的复合几何对象(GeoCompound)。
      • clone

        public GeoLegend clone()
        从类复制的说明: Geometry
        克隆一个Geometry对象。
        指定者:
        clone 在类中 Geometry
        返回:
        克隆的Geometry对象。
      • dispose

        public void dispose()
        释放该对象所占用的资源。当调用该方法之后,此对象不再可用。
        指定者:
        dispose 在接口中 IDisposable
        指定者:
        dispose 在类中 Geometry
      • getSubItemStyle

        public int getSubItemStyle()
        返回图例子项风格。
        返回:
        图例子项风格。
      • setSubItemStyle

        public void setSubItemStyle(int nGeoStyle)
        设置图例子项风格。该方法不支持设置固定文本大小。
        参数:
        nGeoStyle - 图例子项风格。
      • getCurrentMakeItemNames

        public String[] getCurrentMakeItemNames()
        获取构建图例的图层。
        返回:
        返回构建图例的图层的名称数组。图层名称数组顺序即为对应图例项的显示顺序。
      • setCurrentMakeItemNames

        public void setCurrentMakeItemNames(String[] layerNames)
        设置构建图例的图层。

        通过图层名称数组(layerNames参数)指定参与构建图例的图层,图层名称数组顺序即为对应图例项的显示顺序。

        参数:
        layerNames - 指定参与构建图例的图层的名称,图层名称数组顺序即为对应图例项的显示顺序。
        抛出:
        IllegalStateException - 当图例对象已释放;当图层名称数组为空或者长度小于 1;当图例对象关联的工作空间为空,或工作空间中不存在图例对象所关联的地图。
        从以下版本开始:
        12.0.0
      • isNoteLeft

        public boolean isNoteLeft()
      • setIsNoteLeft

        public void setIsNoteLeft(String itemName,
                                  boolean value)
      • getLineStyle

        public GeoLegendLineType getLineStyle()
        返回图例线子项风格
        返回:
      • setLineStyle

        public void setLineStyle(GeoLegendLineType nGeoStyle)
        设置图例线子项风格
        参数:
        nGeoStyle - 图例线子项风格
      • getRegionStyle

        public GeoLegendRegionType getRegionStyle()
        返回图例面线子项风格
        返回:
      • setRegionStyle

        public void setRegionStyle(GeoLegendRegionType nGeoStyle)
        设置图例面子项风格
        参数:
        nGeoStyle - 图例面子项风格
      • isDynamicMarkerSize

        public boolean isDynamicMarkerSize()
        图例中点符号大小是否随符号风格变化
        返回:
        点符号大小是否随符号风格变化
        抛出:
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.3
      • setIsDynamicMarkerSize

        public void setIsDynamicMarkerSize(boolean value)
        设置图例中点符号大小是否随符号风格变化
        参数:
        value - 点符号大小是否随符号风格变化
        抛出:
        IllegalStateException - 当前对象已被释放
        从以下版本开始:
        11.3
      • setThemeNameVisible

        public void setThemeNameVisible(String itemName,
                                        boolean visible)
        设置指定专题图图例项是否显示图层标题。

        等级符号专题图、热力图、聚合图层的图例项不支持显示图层标题。

        低于 12.0.0 版本制作的布局,其图例中的专题图图例项不支持显示图层标题。

        参数:
        itemName - 指定的专题图图例项名称(图例项名称即为对应图层的名称)。
        visible - 如果为true,则专题图图例项显示图层标题,如果为false,则不显示图层标题。
        抛出:
        IllegalStateException - 当图例对象已释放。
        从以下版本开始:
        12.0.0
      • isThemeNameVisible

        public boolean isThemeNameVisible(String itemName)
        获取指定专题图图例项是否显示图层标题。
        参数:
        itemName - 指定的专题图图例项名称(图例项名称即为对应图层的名称)。
        返回:
        如果专题图图例项显示图层标题,返回true,否则返回false。
        抛出:
        IllegalStateException - 当图例对象已释放。
        从以下版本开始:
        12.0.0
      • isThemeLayer

        public boolean isThemeLayer(String itemName)
        获取指定图例项是否为专题图图例项。

        低于 12.0.0 版本制作的布局,不支持使用该方法判断其图例中的图例项是否为专题图图例项。

        参数:
        itemName - 指定的图例项名称(图例项名称即为对应图层的名称)。
        返回:
        如果图例项为专题图图例项,返回true,否则返回false。另外,当图例项为热力图或聚合图层的图例项时,该方法返回false。
        抛出:
        IllegalStateException - 当图例对象已释放。
        从以下版本开始:
        12.0.0
      • setItemsVisibleInViewBounds

        public void setItemsVisibleInViewBounds(boolean visible)
        设置图例是否仅显示关联地图对象可视范围内可见对象的图例项。

        当需要使布局图例内容与关联地图对象当前显示一致(即仅显示地图对象可视范围内可见对象的图例项)时,需要调用GeoLegend.setItemsVisibleInViewBounds(boolean)方法并将参数设为true,同时调用GeoLegend.setGeoMapViewBounds(Rectangle2D)方法设置关联地图对象的可视范围。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        以下情况图层的图例暂不支持与地图对象可视范围内容一致:

        • 聚合图、等级符号专题图、自定义专题图层
        • 栅格图层、CAD数据集图层
        • 单值专题图的缺省子项
        • 包含复合对象、参数化几何对象的图层
        • 使用关联属性表构建图层显示过滤表达式

        此外,针对地图文本对象,程序基于锚点判断对象是否位于地图对象可视范围内,因此,会存在图例与地图对象显示内容不一致;针对地图点符号,程序基于点对象坐标判断对象是否位于地图对象可视范围内,如果应用符号偏移、压盖设置、点随标签显隐、符号随图缩放等设置,会因点符号视觉中心点和点坐标位置不一致,导致图例与地图对象显示内容不一致。

        参数:
        visible - 如果为true,则仅显示关联地图对象可视范围内可见对象的图例项,如果为false,则显示所有图例项。
        从以下版本开始:
        12.0.0
      • isItemsVisibleInViewBounds

        public boolean isItemsVisibleInViewBounds()
        获取图例是否仅显示关联地图对象可视范围内可见对象的图例项。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        返回:
        如果仅显示关联地图对象可视范围内可见对象的图例项,返回true,否则返回false。
        从以下版本开始:
        12.0.0
      • setGeoMapViewBounds

        public void setGeoMapViewBounds(Rectangle2D bounds)
        设置当前图例关联的地图对象的可视范围(MapLayout.getMapViewBounds(geoMapID))。

        当需要使布局图例内容与关联地图对象当前显示一致(即仅显示地图对象可视范围内可见对象的图例项)时,需要调用GeoLegend.setItemsVisibleInViewBounds(boolean)方法并将参数设为true,同时调用GeoLegend.setGeoMapViewBounds(Rectangle2D)方法设置关联地图对象的可视范围。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        参数:
        bounds - 当前图例关联的地图对象的可视范围(MapLayout.getMapViewBounds(geoMapID))。
        从以下版本开始:
        12.0.0
      • getGeoMapViewBounds

        public Rectangle2D getGeoMapViewBounds()
        获取当前图例关联的地图对象的可视范围。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        返回:
        返回当前图例关联的地图对象的可视范围。
        从以下版本开始:
        12.0.0
      • setGeoMapScale

        public void setGeoMapScale(double scale)
        设置当前图例关联的地图对象的显示比例尺(MapLayout.getMapScale(int geoMapID))。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        参数:
        scale - 当前图例关联的地图对象的显示比例尺(MapLayout.getMapScale(int geoMapID))。
        从以下版本开始:
        12.0.0
      • getGeoMapScale

        public double getGeoMapScale()
        获取当前图例关联的地图对象的显示比例尺。

        图例与地图对象的关联关系,通过GeoMap.addGeoLegend(GeoLegend)GeoMap.getGeoLegendIds()方法建立和获取。

        返回:
        返回当前图例关联的地图对象的显示比例尺。
        从以下版本开始:
        12.0.0

Copyright © 2021–2025 SuperMap. All rights reserved.