类 GeoLegend
- java.lang.Object
-
- com.supermap.data.InternalHandle
-
- com.supermap.data.InternalHandleDisposable
-
- com.supermap.data.Geometry
-
- com.supermap.data.GeoLegend
-
- 所有已实现的接口:
- IDisposable
public class GeoLegend extends Geometry
该类继承自Geometry
抽象类。需要关联地图名和工作空间进行使用,当设置标题,图例项是否可见等内容时,需要调用load()
方法,设置才起作用。 可以使用getInnerGeometry()
方法来控制图例项的显示内容和位置。
-
-
构造器概要
构造器 构造器和说明 GeoLegend(GeoLegend geoLegend)
根据给定的 GeoLegend 对象构造一个与其完全相同的新对象。GeoLegend(String mapName, Workspace workspace)
根据指定的参数来构造一个 GeoLegend 的新对象。GeoLegend(String mapName, Workspace workspace, String title)
根据指定的参数来构造一个 GeoLegend 的新对象。
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 GeoLegend
clone()
克隆一个Geometry对象。void
dispose()
释放该对象所占用的资源。GeoStyle
getBackGroundStyle()
返回背景的风格。double
getBottomMargin()
返回边框向下扩充的距离。Point2D
getCenter()
返回二维矩形几何对象的中心点。int
getColumnCount()
返回图例项的列数。String[]
getCurrentMakeItemNames()
获取构建图例的图层。double
getGeoMapScale()
获取当前图例关联的地图对象的显示比例尺。Rectangle2D
getGeoMapViewBounds()
获取当前图例关联的地图对象的可视范围。double
getHeight()
返回地图图例对象的高度。GeoCompound
getInnerGeometry()
返回图例包含的复合几何对象(GeoCompound
)。String[]
getItemNames()
返回图例项的名称的数组。String[]
getItems()
已过时。TextStyle
getItemTextStyle()
返回图例项说明的文本风格。double
getLeftMargin()
返回边框向左扩充的距离。GeoLegendLineType
getLineStyle()
返回图例线子项风格String
getMapName()
返回地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。GeoLegendRegionType
getRegionStyle()
返回图例面线子项风格double
getRightMargin()
返回边框向右扩充的距离。int
getSubItemStyle()
返回图例子项风格。TextStyle
getSubItemTextStyle()
返回图例子项(如专题图)说明的文本风格。String
getTitle()
返回图例标题。TextStyle
getTitleStyle()
返回图例标题风格。double
getTopMargin()
返回边框向上扩充的距离。double
getWidth()
返回地图图例对象的宽度。Workspace
getWorkspace()
返回关联的工作空间,默认是返回到该图例对象所属的工作空间对象。boolean
isDynamicMarkerSize()
图例中点符号大小是否随符号风格变化boolean
isItemsVisibleInViewBounds()
获取图例是否仅显示关联地图对象可视范围内可见对象的图例项。boolean
isItemVisible(String itemName)
返回图例项是否可见。boolean
isNoteLeft()
boolean
isThemeLayer(String itemName)
获取指定图例项是否为专题图图例项。boolean
isThemeNameVisible(String itemName)
获取指定专题图图例项是否显示图层标题。void
load(boolean isAddToScreenLayer)
加载设置的内容。void
setBackGroundStyle(GeoStyle geoStyle)
设置背景的风格void
setBottomMargin(double value)
设置边框向下扩充的距离。void
setCenter(Point2D value)
设置二维矩形几何对象的中心点。void
setColumnCount(int count)
设置图例项的列数。void
setCurrentMakeItemNames(String[] layerNames)
设置构建图例的图层。void
setGeoMapScale(double scale)
设置当前图例关联的地图对象的显示比例尺(MapLayout.getMapScale(int geoMapID))。void
setGeoMapViewBounds(Rectangle2D bounds)
设置当前图例关联的地图对象的可视范围(MapLayout.getMapViewBounds(geoMapID))。void
setHeight(double value)
设置地图图例对象的高度。void
setIsDynamicMarkerSize(boolean value)
设置图例中点符号大小是否随符号风格变化void
setIsNoteLeft(String itemName, boolean value)
void
setItemsVisibleInViewBounds(boolean visible)
设置图例是否仅显示关联地图对象可视范围内可见对象的图例项。void
setItemTextStyle(TextStyle textStyle)
设置图例项说明的文本风格。void
setItemVisible(String itemName, boolean value)
设置图例项是否可见。void
setLeftMargin(double value)
设置边框向左扩充的距离。void
setLineStyle(GeoLegendLineType nGeoStyle)
设置图例线子项风格void
setMapName(String mapName)
设置地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。void
setRegionStyle(GeoLegendRegionType nGeoStyle)
设置图例面子项风格void
setRightMargin(double value)
设置边框向右扩充的距离。void
setSubItemStyle(int nGeoStyle)
设置图例子项风格。void
setSubItemTextStyle(TextStyle textStyle)
设置图例子项(如专题图)说明的文本风格。void
setThemeNameVisible(String itemName, boolean visible)
设置指定专题图图例项是否显示图层标题。void
setTitle(String title)
设置图例标题。void
setTitleStyle(TextStyle textStyle)
设置图例标题风格。void
setTopMargin(double value)
设置边框向上扩充的距离。void
setWidth(double value)
设置地图图例对象的宽度。
-
-
-
构造器详细资料
-
GeoLegend
public GeoLegend(GeoLegend geoLegend)
根据给定的 GeoLegend 对象构造一个与其完全相同的新对象。- 参数:
geoLegend
- 给定的 GeoLegend 对象
-
GeoLegend
public GeoLegend(String mapName, Workspace workspace, String title)
根据指定的参数来构造一个 GeoLegend 的新对象。- 参数:
mapName
- 关联地图的名称。workspace
- 关联的工作空间。title
- 图例的标题。
-
-
方法详细资料
-
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()
返回图例项的名称的数组。- 返回:
- 图例项的名称的数组。
-
getItems
@Deprecated public String[] getItems()
已过时。
-
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
)。
-
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.