类 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 的新对象。
-
方法概要
所有方法 实例方法 具体方法 已过时的方法 限定符和类型 方法和说明 GeoLegendclone()克隆一个Geometry对象。voiddispose()释放该对象所占用的资源。GeoStylegetBackGroundStyle()返回背景的风格。doublegetBottomMargin()返回边框向下扩充的距离。Point2DgetCenter()返回二维矩形几何对象的中心点。intgetColumnCount()返回图例项的列数。String[]getCurrentMakeItemNames()获取构建图例的图层。doublegetGeoMapScale()获取当前图例关联的地图对象的显示比例尺。Rectangle2DgetGeoMapViewBounds()获取当前图例关联的地图对象的可视范围。doublegetHeight()返回地图图例对象的高度。GeoCompoundgetInnerGeometry()返回图例包含的复合几何对象(GeoCompound)。String[]getItemNames()返回图例项的名称的数组。String[]getItems()已过时。TextStylegetItemTextStyle()返回图例项说明的文本风格。doublegetLeftMargin()返回边框向左扩充的距离。GeoLegendLineTypegetLineStyle()返回图例线子项风格StringgetMapName()返回地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。GeoLegendRegionTypegetRegionStyle()返回图例面线子项风格doublegetRightMargin()返回边框向右扩充的距离。intgetSubItemStyle()返回图例子项风格。TextStylegetSubItemTextStyle()返回图例子项(如专题图)说明的文本风格。StringgetTitle()返回图例标题。TextStylegetTitleStyle()返回图例标题风格。doublegetTopMargin()返回边框向上扩充的距离。doublegetWidth()返回地图图例对象的宽度。WorkspacegetWorkspace()返回关联的工作空间,默认是返回到该图例对象所属的工作空间对象。booleanisDynamicMarkerSize()图例中点符号大小是否随符号风格变化booleanisItemsVisibleInViewBounds()获取图例是否仅显示关联地图对象可视范围内可见对象的图例项。booleanisItemVisible(String itemName)返回图例项是否可见。booleanisNoteLeft()booleanisThemeLayer(String itemName)获取指定图例项是否为专题图图例项。booleanisThemeNameVisible(String itemName)获取指定专题图图例项是否显示图层标题。voidload(boolean isAddToScreenLayer)加载设置的内容。voidsetBackGroundStyle(GeoStyle geoStyle)设置背景的风格voidsetBottomMargin(double value)设置边框向下扩充的距离。voidsetCenter(Point2D value)设置二维矩形几何对象的中心点。voidsetColumnCount(int count)设置图例项的列数。voidsetCurrentMakeItemNames(String[] layerNames)设置构建图例的图层。voidsetGeoMapScale(double scale)设置当前图例关联的地图对象的显示比例尺(MapLayout.getMapScale(int geoMapID))。voidsetGeoMapViewBounds(Rectangle2D bounds)设置当前图例关联的地图对象的可视范围(MapLayout.getMapViewBounds(geoMapID))。voidsetHeight(double value)设置地图图例对象的高度。voidsetIsDynamicMarkerSize(boolean value)设置图例中点符号大小是否随符号风格变化voidsetIsNoteLeft(String itemName, boolean value)voidsetItemsVisibleInViewBounds(boolean visible)设置图例是否仅显示关联地图对象可视范围内可见对象的图例项。voidsetItemTextStyle(TextStyle textStyle)设置图例项说明的文本风格。voidsetItemVisible(String itemName, boolean value)设置图例项是否可见。voidsetLeftMargin(double value)设置边框向左扩充的距离。voidsetLineStyle(GeoLegendLineType nGeoStyle)设置图例线子项风格voidsetMapName(String mapName)设置地图几何对象所关联的地图名称,此对象所属的工作空间中须含有此地图名称,否则地图无法正常显示。voidsetRegionStyle(GeoLegendRegionType nGeoStyle)设置图例面子项风格voidsetRightMargin(double value)设置边框向右扩充的距离。voidsetSubItemStyle(int nGeoStyle)设置图例子项风格。voidsetSubItemTextStyle(TextStyle textStyle)设置图例子项(如专题图)说明的文本风格。voidsetThemeNameVisible(String itemName, boolean visible)设置指定专题图图例项是否显示图层标题。voidsetTitle(String title)设置图例标题。voidsetTitleStyle(TextStyle textStyle)设置图例标题风格。voidsetTopMargin(double value)设置边框向上扩充的距离。voidsetWidth(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)方法(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)方法(geoMapID即为图例关联的地图对象)的返回值。- 从以下版本开始:
- 12.0.0
-
getGeoMapScale
public double getGeoMapScale()
获取当前图例关联的地图对象的显示比例尺。图例与地图对象的关联关系,通过
GeoMap.addGeoLegend(GeoLegend)和GeoMap.getGeoLegendIds()方法建立和获取。- 返回:
- 返回当前图例关联的地图对象的显示比例尺。
- 从以下版本开始:
- 12.0.0
-
-
Copyright © 2021–2025 SuperMap. All rights reserved.