com.supermap.mapping

类 Map

  • java.lang.Object
    • com.supermap.data.InternalHandle
      • com.supermap.data.InternalHandleDisposable
        • com.supermap.mapping.Map
  • 所有已实现的接口:
    IDisposable


    public class Map
    extends com.supermap.data.InternalHandleDisposable

    地图类,负责地图显示环境的管理。

    地图是对地理数据的可视化,通常由一个或多个图层组成。一个地图对象通常通过其图层集合对象 Layers 来管理其中的所有图层,并且地图必须与一个工作空间相关联,以便来显示该工作空间中的数据。另外,对地图的显示方式的设置将对其中的所有图层起作用。该类提供了对地图的各种显示方式的返回和设置,如地图的显示范围,比例尺,坐标以及量度单位,坐标系统以及文本、点等图层的默认显示方式等,并提供了对地图进行的相关操作的方法,如地图的打开与关闭,缩放、平移与全幅显示,以及地图的输出等。地图类支持无界面出图,即不需要关联到 MapControl 就可以显示地图,但是只能对地图进行显示及其简单的操作,不可以通过 Map 类显示的地图来操作数据。

    注意:

      对于从工作空间获取的 Map,编辑之后,必须保存到工作空间的 Maps 中,否则对于 Map 的编辑不能够保存。
      当用户使用该工作空间对象进行编程时,如果将 Workspace 与 MapControl 建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下:
      1. 关闭 Map 对象;
      2. 关闭 MapControl 对象;
      3. 关闭 Workspace 对象。
    • 构造器详细资料

      • Map

        public Map()
        构造一个新的地图对象。
      • Map

        public Map(Workspace workspace)
        构造一个新的地图对象,并将该地图对象关联到指定的工作空间。
        参数:
        workspace - 指定的工作空间。
        抛出:
        IllegalArgumentException - 非法参数
    • 方法详细资料

      • main

        public static void main(String[] args)
      • getName

        public String getName()
        返回当前地图的名称。
        返回:
        当前地图的名称。
        默认值:
        默认值为 UntitledMap。
      • setName

        public void setName(String value)
        设置当前地图的名称。
        参数:
        value - 指定当前地图的名称。
      • isClipRegionEnabled

        public boolean isClipRegionEnabled()
        返回地图显示裁剪区域是否有效,true 表示有效。

        用户可以任意设定一个地图显示的区域,该区域外的地图内容,将不会显示。可用于布局输出或地图打印输出,可以将设置保存到工作空间,但不会修改原数据。

        返回:
        一个布尔值指定地图显示裁剪区域是否有效。
        默认值:
        默认值为 false。
      • setClipRegionEnabled

        public void setClipRegionEnabled(boolean value)
        设置地图显示裁剪区域是否有效,true 表示有效。

        用户可以任意设定一个地图显示的区域,该区域外的地图内容,将不会显示。可用于布局输出或地图打印输出,可以将设置保存到工作空间,但不会修改原数据。

        参数:
        value - 一个布尔值指定地图显示裁剪区域是否有效。
      • getClipRegion

        public GeoRegion getClipRegion()
        返回地图显示裁剪的区域。

        用户可以任意设定一个地图显示的区域,该区域外的地图内容,将不会显示。可用于布局输出或地图打印输出,可以将设置保存到工作空间,但不会修改原数据。

        返回:
        地图显示裁剪的区域。
        默认值:
        默认值为 GeoRegion 对象的默认值。
      • setClipRegion

        public void setClipRegion(GeoRegion geoRegion)
        设置地图显示裁剪的区域。

        用户可以任意设定一个地图显示的区域,该区域外的地图内容,将不会显示。可用于布局输出或地图打印输出,可以将设置保存到工作空间,但不会修改原数据。

        参数:
        geoRegion - 地图显示裁剪的区域。
      • getDescription

        public String getDescription()
        返回当前地图的描述信息。
        返回:
        当前地图的描述信息。
        默认值:
        默认值为一个空字符串。
      • setDescription

        public void setDescription(String value)
        设置当前地图的描述信息。
        参数:
        value - 指定当前地图的描述信息。
      • getAngle

        public double getAngle()
        返回当前地图的旋转角度。单位为度,精度到 0.1 度。逆时针方向为正方向,如果用户输入负值,地图则以顺时针方向旋转。
        返回:
        当前地图的旋转角度。
        默认值:
        默认值为 0 度,即不旋转。
      • setAngle

        public void setAngle(double value)
        设置当前地图的旋转角度。单位为度,精度到 0.1 度。逆时针方向为正方向,如果用户输入负值,地图则以顺时针方向旋转。
        参数:
        value - 指定当前地图的旋转角度。
      • getBackgroundStyle

        public GeoStyle getBackgroundStyle()
        返回当前地图的背景风格。
        返回:
        当前地图的背景风格。
        默认值:
        默认值为 {FillBackColor=Color [A=255, R=255, G=255, B=255],FillForeColor=Color [A=255, R=255, G=255, B=255],FillGradientAngle=0,FillGradientMode=None,FillGradientOffsetRatioX=0,FillGradientOffsetRatioY=0,FillOpaqueRate=100,FillSymbolID=0,LineColor=Color [A=255, R=0, G=0, B=0],LineSymbolID=0,LineWidth=0.1,MarkerAngle=0,MarkerSize={Width=2.4,Height=-1},MarkerSymbolID=0}。
      • setBackgroundStyle

        public void setBackgroundStyle(GeoStyle style)
        设置当前地图的背景风格。
        参数:
        style - 指定当前地图的背景风格。
      • getBounds

        public Rectangle2D getBounds()
        返回当前地图的空间范围。地图的空间范围是其所显示的各数据集的范围的最小外接矩形,即包含各数据集范围的最小的矩形。当地图显示的数据集增加或删除时,其空间范围也会相应发生变化。
        返回:
        当前地图的空间范围。
        默认值:
        默认值为 Rectangle2D(0,0,0,0)。
      • getViewBounds

        public Rectangle2D getViewBounds()
        返回当前地图的可见范围,也称显示范围。当前地图的可见范围除了可以通过 setViewBounds() 方法来进行设置,还可以通过设置显示范围的中心点(Center)和显示比例尺(Scale)的方式来进行设置。
        返回:
        当前地图的可见范围。
        默认值:
        默认值为 Rectangle2D(0,0,0,0)。
      • isViewBoundsLocked

        public boolean isViewBoundsLocked()
        返回一个布尔值,用于指定 MapControl 地图控件中是否锁定地图的可视范围。
        返回:
        一个布尔值,用于指定此地图控件的可视范围是否锁定。
        默认值:
        默认值为 false,即地图控件的可视范围没有被锁定。
      • setViewBoundsLocked

        public void setViewBoundsLocked(boolean isViewBoundsLocked)
        设置一个布尔值指定 MapControl 地图控件中是否锁定地图的可视范围。
        参数:
        isViewBoundsLocked - 指定一个布尔值,用于指定此地图控件的可视范围是否锁定。
      • setViewBounds

        public void setViewBounds(Rectangle2D rect)
        设置当前地图的可见范围,也称显示范围。当前地图的可见范围除了可以通过 setViewBounds()方法来进行设置,还可以通过设置显示范围的中心点(Center)和显示比例尺(Scale)的方式来进行设置。
        参数:
        rect - 指定当前地图的可见范围。
      • getLockedViewBounds

        public Rectangle2D getLockedViewBounds()
        返回 MapControl 地图控件中锁定的地图可视范围。当地图控件的可视范围被锁定后,则地图控件只显示指定的可视范围内的地图,其余的地图内容不显示。
        返回:
        地图控件锁定的可视范围。
        默认值:
        默认值为 Rectangle2D(0,0,0,0)。
      • setLockedViewBounds

        public void setLockedViewBounds(Rectangle2D rect)
        设置地图控件中锁定的地图可视范围。当地图控件的可视范围被锁定后,则地图控件只显示指定的可视范围内的地图,其余的地图内容不显示。
        参数:
        rect - 指定地图控件锁定的可视范围。
      • getCenter

        public Point2D getCenter()
        返回当前地图的显示范围的中心点。
        返回:
        当前地图的显示范围的中心点。
        默认值:
        默认值为 Point2D(0,0)。
      • setCenter

        public void setCenter(Point2D point)
        设置当前地图的显示范围的中心点。
        参数:
        point - 指定当前地图的显示范围的中心点。
      • getColorMode

        public MapColorMode getColorMode()
        返回当前地图的颜色模式。地图的颜色模式包括彩色模式,黑白模式,灰度模式以及黑白反色模式等,具体请参见 MapColorMode 类。
        返回:
        当前地图的颜色模式。
        另请参阅:
        MapColorMode
        默认值:
        默认值为 MapColorMode.DEFAULT
      • setColorMode

        public void setColorMode(MapColorMode mapColorMode)
        设置当前地图的颜色模式。地图的颜色模式包括彩色模式,黑白模式,灰度模式以及黑白反色模式等,具体请参见 MapColorMode 类。
        参数:
        mapColorMode - 指定当前地图的颜色模式。
        另请参阅:
        MapColorMode
      • isAntialias

        public boolean isAntialias()
        返回是否反走样地图。文本、线型被设置为反走样后,可以去除一些显示锯齿,使显示更加美观。如图分别为线型和文本反走样前和反走样后的效果对比。

        当面几何对象风格的轮廓线使用 ID为5的系统线型符号(即:NULL系统线型,GeoStyle.setLineSymbolID(int)设置为 5)时,轮廓线反走样无效。

        返回:
        用一个布尔值指定是否反走样地图。
        默认值:
        默认值为 false,即默认地图显示时不反走样。
      • setAntialias

        public void setAntialias(boolean value)
        设置是否反走样地图。文本、线型被设置为反走样后,可以去除一些显示锯齿,使显示更加美观。如图分别为线型和文本反走样前和反走样后的效果对比。

        当面几何对象风格的轮廓线使用 ID为5的系统线型符号(即:NULL系统线型,GeoStyle.setLineSymbolID(int)设置为 5)时,轮廓线反走样无效。

        参数:
        value - 用一个布尔值指定是否反走样地图。
      • isTextAngleFixed

        public boolean isTextAngleFixed()
        返回一个布尔值指定文本角度是否固定。针对地图中的所有文本图层。
        返回:
        一个布尔值指定文本角度是否固定。
        默认值:
        默认值为 false,即文本角度不固定。
      • setTextAngleFixed

        public void setTextAngleFixed(boolean value)
        设置一个布尔值指定文本角度是否固定。针对地图中的所有文本图层。
        参数:
        value - 一个布尔值指定文本角度是否固定。
      • isTextOrientationFixed

        public boolean isTextOrientationFixed()
        返回一个布尔值指定文本朝向是否固定。当设定了文本角度的情况下,文本朝向是否固定将会使文本的显示效果不同。例如,当文本的角度设置为45度,第一幅图中显示的是文本的朝向不固定时的效果,第二幅图中显示的是文本的朝向固定时的效果,可以看出当文本的朝向固定时,不管文本角度如何,文本都是竖直放置。针对地图中的所有文本图层。
        返回:
        一个布尔值指定文本朝向是否固定。
        默认值:
        默认值为 false,即文本朝向不固定。
      • setTextOrientationFixed

        public void setTextOrientationFixed(boolean value)
        设置一个布尔值指定文本朝向是否固定。当设定了文本角度的情况下,文本朝向是否固定将会使文本的显示效果不同。例如,当文本的角度设置为45度,第一幅图中显示的是文本的朝向不固定时的效果,第二幅图中显示的是文本的朝向固定时的效果,可以看出当文本的朝向固定时,不管文本角度如何,文本都是竖直放置。针对地图中的所有文本图层。
        参数:
        value - 一个布尔值,用于指定文本朝向是否固定。
      • isMarkerAngleFixed

        public boolean isMarkerAngleFixed()
        返回一个布尔值指定点状符号的角度是否固定。针对地图中的所有点图层。
        返回:
        一个布尔值,用于指定点状符号的角度是否固定。
        默认值:
        默认值为 false,即点状符号的角度不固定。
      • setMarkerAngleFixed

        public void setMarkerAngleFixed(boolean value)
        设置一个布尔值指定点状符号的角度是否固定。针对地图中的所有点图层。
        参数:
        value - 指定点状符号的角度是否固定。
      • isModified

        public boolean isModified()
        返回一个布尔值指定当前地图是否被修改了。当地图的任何显示属性发生变化,或者其中的 layers 或 layer 对象发生变化,都认为该地图被修改。
        返回:
        一个布尔值,用于指定当前地图是否被修改了。
        默认值:
        默认值为 false,即当前地图没有被修改。
      • setModified

        public void setModified(boolean value)
        设置当前地图是否被修改了。

        当地图的任何显示属性发生变化,或者其中的 layers 或 layer 对象发生变化,都认为该地图被修改。

        参数:
        value - 当前地图是否被修改了
      • isPaintBackground

        public boolean isPaintBackground()
        返回一个布尔值指定是否绘制地图背景。
        返回:
        一个布尔值指定是否绘制地图背景。
        默认值:
        默认值为 true,即有绘制地图背景。
      • setPaintBackground

        public void setPaintBackground(boolean value)
        设置一个布尔值指定是否绘制地图背景。
        参数:
        value - 用一个布尔值,用于指定是否绘制地图背景。
      • getMaxVisibleTextSize

        public double getMaxVisibleTextSize()
        返回文本的最大可见尺寸,单位为毫米。
        返回:
        文本的最大可见尺寸。
        默认值:
        默认值为 1000。
      • setMaxVisibleTextSize

        public void setMaxVisibleTextSize(double value)
        设置文本的最大可见尺寸,单位为毫米。
        参数:
        value - 指定文本的最大可见尺寸。
      • getMinVisibleTextSize

        public double getMinVisibleTextSize()
        返回文本的最小可见尺寸,单位为毫米。
        返回:
        文本的最小可见尺寸。
        默认值:
        默认值为 0.1。
      • setMinVisibleTextSize

        public void setMinVisibleTextSize(double value)
        设置文本的最小可见尺寸,单位为毫米。
        参数:
        value - 指定文本的最小可见尺寸。
      • getMaxVisibleVertex

        public int getMaxVisibleVertex()
        返回最大几何对象可见节点数,如果几何对象的节点数超过指定的个数,则该几何对象不显示。
        返回:
        最大几何对象可见节点数。
        默认值:
        默认值为 36000,即几何对象节点数超过 36000 的部分不被显示。
      • setMaxVisibleVertex

        public void setMaxVisibleVertex(int value)
        设置最大几何对象可见节点数,如果几何对象的节点数超过指定的个数,则该几何对象不显示。
        参数:
        value - 最大几何对象可见节点数。
      • getScale

        public double getScale()
        返回当前地图的显示比例尺。
        返回:
        当前地图的显示比例尺。
        默认值:
        默认值为0。
      • setScale

        public void setScale(double value)
        设置当前地图的显示比例尺。
        参数:
        value - 指定当前地图的显示比例尺。
      • getMinScale

        public double getMinScale()
        返回地图的最小比例尺。
        返回:
        返回地图的最小比例尺。
        默认值:
        默认值为 0,表示地图按照默认值可缩放到无穷远或无穷近。
      • setMinScale

        public void setMinScale(double value)
        设置地图的最小比例尺。
        参数:
        value - 地图的最小比例尺。
      • getMaxScale

        public double getMaxScale()
        返回地图的最大比例尺。
        返回:
        地图的最大比例尺。
        默认值:
        默认值为 0,表示地图按照默认值可缩放到无穷远或无穷近。
      • setMaxScale

        public void setMaxScale(double value)
        设置地图的最大比例尺。
        参数:
        value - 地图的最大比例尺。
      • getCoordUnit

        public Unit getCoordUnit()
        返回当前地图的坐标单位。
        返回:
        当前地图的坐标单位。
      • setCoordUnit

        public void setCoordUnit(Unit value)
        设置当前地图的坐标单位。
        参数:
        value - 指定当前地图的坐标单位。
      • getDistanceUnit

        public Unit getDistanceUnit()
        返回当前地图的距离量度单位。
        返回:
        当前地图的距离量度单位。
        默认值:
        默认值为Meter
      • setDistanceUnit

        public void setDistanceUnit(Unit value)
        设置当前地图的距离量度单位。
        参数:
        value - 指定当前地图的距离量度单位。
      • getTrackingLayer

        public TrackingLayer getTrackingLayer()
        返回当前地图的跟踪图层。跟踪图层是覆盖在地图的其他图层之上的一个空白的透明的图层,详细信息请参见 TrackingLayer 类。
        返回:
        当前地图的跟踪图层。
        默认值:
        默认值为 TrackingLayer 的默认值。
      • getScreenLayer

        public ScreenLayer getScreenLayer()
        返回地图对象的屏幕图层,该图层的坐标与屏幕坐标系相同。单位为像素。
        返回:
        地图对象的屏幕图层,该图层的坐标与屏幕坐标系相同。单位为像素。
      • isDynamicProjection

        public boolean isDynamicProjection()
        返回是否允许地图动态投影显示。地图动态投影显示是指如果当前地图窗口中地图的投影信息与数据源的投影信息不同,利用地图动态投影显示可以将当前地图的投影信息转换为数据源的投影信息。
        返回:
        是否允许地图动态投影显示。
        默认值:
        默认值为 false。即不允许地图动态投影显示。
      • setDynamicProjection

        public void setDynamicProjection(boolean value)
        设置是否允许地图动态投影显示。地图动态投影显示是指如果当前地图窗口中地图的投影信息与数据源的投影信息不同,利用地图动态投影显示可以将当前地图的投影信息转换为数据源的投影信息。
        参数:
        value - 一个布尔值,用于指定是否允许地图动态投影显示。
      • getPrjCoordSys

        public PrjCoordSys getPrjCoordSys()
        返回地图的投影坐标系统。投影坐标系类请参见 PrjCoordSys
        返回:
        地图的投影坐标系统。
        默认值:
        默认值为 PrjCoordSys 的默认值。
      • setPrjCoordSys

        public void setPrjCoordSys(PrjCoordSys value)
        设置地图的投影坐标系统。投影坐标系类请参见 PrjCoordSys
        参数:
        value - 地图的投影坐标系统。
      • setDynamicPrjTransMethod

        public void setDynamicPrjTransMethod(CoordSysTransMethod transMethod)
        设置地图动态投影时,当源投影与目标目标投影所基于的地理坐标系不同时,需要设置该转换算法。

        此处的投影算法不支持自定义算法,即:CoordSysTransMethod.MTH_EXTENTION。

        Map对象动态投影支持设置地理坐标系转换方法(参见:setDynamicPrjTransMethod(CoordSysTransMethod) 方法),以及参数的设置(参见:getDynamicPrjTransParameter 方法),用于满足在动态投影时更准确的转换。

        参数:
        transMethod - 地理坐标系转换算法。
      • getDynamicPrjTransParameter

        public CoordSysTransParameter getDynamicPrjTransParameter()
        设置地图动态投影时,当源投影与目标目标投影所基于的地理坐标系不同时,可以通过该方法设置转换参数。

        Map对象动态投影支持设置地理坐标系转换方法(参见:setDynamicPrjTransMethod(CoordSysTransMethod) 方法),以及参数的设置(参见:getDynamicPrjTransParameter 方法),用于满足在动态投影时更准确的转换。

        返回:
        返回动态投影坐标系的转换参数。
      • getDynamicPrjTransRunnable

        public CoordSysTransRunnable getDynamicPrjTransRunnable()
        返回地图自定义投影转换方法的执行对象。
        返回:
        返回地图自定义投影转换方法的执行对象。
      • setDynamicPrjTransRunnable

        public void setDynamicPrjTransRunnable(CoordSysTransRunnable value)
        设置地图自定义投影转换方法。
        参数:
        value - 地图自定义投影转换方法的执行对象。
      • getLayers

        public Layers getLayers()
        返回当前地图所包含的图层集合对象。地图的图层集合对象管理地图中的所有图层。
        返回:
        当前地图所包含的图层集合对象。
        默认值:
        默认值为 Layers 对象的默认值。
      • getWorkspace

        public Workspace getWorkspace()
        返回当前地图所关联的工作空间。地图是对其所关联的工作空间中的数据的显示。
        返回:
        当前地图所关联的工作空间。
        默认值:
        默认值为 null。即不能访问 Layers,不能出图,涉及到数据的操作都不可用,其他可用。
      • setWorkspace

        public void setWorkspace(Workspace workspace)
        设置当前地图所关联的工作空间。地图是对其所关联的工作空间中的数据的显示。
        参数:
        workspace - 指定当前地图所关联的工作空间。
      • getImageSize

        public Dimension getImageSize()
        返回无界面出图时图片的大小,以像素为单位。无界面出图是 SuperMap iObjects Java 提供的功能,它可以不使用 MapControl 直接出图。
        返回:
        无界面出图时图片的大小。
        默认值:
        如果地图是通过地图控件 (MapControl) 返回的,其默认值为地图控件的大小;如果是直接实例化出来的,其默认值为 256*256。
      • setImageSize

        public void setImageSize(Dimension size)
        设置无界面出图时图片的大小,以像素为单位。无界面出图是 SuperMap iObjects Java 提供的功能,它可以不使用 MapControl 直接出图。
        参数:
        size - 无界面出图时图片的大小。
      • isOverlapDisplayed

        public boolean isOverlapDisplayed()
        返回重叠时是否显示对象。
        返回:
        重叠时显示对象返回 true;否则返回 false。
      • setOverlapDisplayed

        public void setOverlapDisplayed(boolean value)
        设置重叠时是否显示对象。
        参数:
        value - 一个布尔值,用于指定重叠时是否显示对象。
      • getOverlapDisplayedOptions

        public MapOverlapDisplayedOptions getOverlapDisplayedOptions()
        返回地图的压盖过滤显示选项。

        与方法Map.isOverlapDisplayed()一起使用,用来处理地图中各种对象的压盖显示。当 Map.isOverlapDisplayed()方法的返回值为 false 时(通过方法 Map.setOverlapDisplayed()的设置实现),用方法Map.getOverlapDisplayedOptions()得到的各设置项才会起作用。

        返回:
        地图的过滤显示选项。
      • setOverlapDisplayedOptions

        public void setOverlapDisplayedOptions(MapOverlapDisplayedOptions value)
        设置地图的压盖过滤显示选项。

        与方法Map.isOverlapDisplayed()一起使用,用来处理地图中各种对象的压盖显示。当 Map.isOverlapDisplayed()方法的返回值为 false 时(即通过方法 Map.setOverlapDisplayed()的设置实现),用方法Map.setOverlapDisplayedOptions()得到的各设置项才会起作用。

        参数:
        value - 用于指定地图的过滤显示选项。
      • getGrid

        public GridSetting getGrid()
        返回地图对象的格网设置。
        返回:
        返回地图对象的格网设置。
        默认值:
        默认值为 {IsVisible=False,IsSnapable=False,HorizontalSpacing=0,=0,IsSizeFixed=False,Type=Point}。
      • setGrid

        public void setGrid(GridSetting value)
        设置地图对象的格网设置。
        参数:
        value - 地图对象的格网设置。
      • getResources

        public Resources getResources()
        返回地图所使用的资源库,如果该方法返回值为 null 时,则使用工作空间中的资源库中的符号。
        返回:
        返回地图所使用的资源库。
        默认值:
        默认值为 null。
      • setResources

        public void setResources(Resources resources)
        设置地图所使用的资源库,如果该方法返回值为 null 时,则使用工作空间中的资源库中的符号。
        参数:
        resources - 地图所使用的资源库。
      • isCustomBoundsEnabled

        public boolean isCustomBoundsEnabled()
        返回自定义地图边界是否有效。 该方法返回值为 true 时,viewEntire() 方法会使用 getCustomBounds 方法的返回值作为边界来进行全幅显示; 该方法返回值为 false 时,viewEntire() 方法会使用 getBounds() 方法的返回值作为边界来进行全幅显示。
        返回:
        返回自定义地图边界是否有效。
      • setCustomBoundsEnabled

        public void setCustomBoundsEnabled(boolean value)
        设置自定义地图边界是否有效。 该方法返回值为 true 时,viewEntire() 方法会使用 getCustomBounds 方法的返回值作为边界来进行全幅显示; 该方法返回值为 false 时,viewEntire() 方法会使用 getBounds() 方法的返回值作为边界来进行全幅显示。
        参数:
        value - 自定义地图边界是否有效
      • isVisibleScalesEnabled

        public boolean isVisibleScalesEnabled()
        返回是否使用固定比例尺来显示地图。
        返回:
        返回是否使用固定比例尺来显示地图。
      • setVisibleScalesEnabled

        public void setVisibleScalesEnabled(boolean value)
        设置是否使用固定比例尺来显示地图。
        参数:
        value - 是否使用固定比例尺来显示地图。
      • getVisibleScales

        public double[] getVisibleScales()
        返回地图的可见比例尺数组。
        返回:
        返回地图的可见比例尺数组。
      • setVisibleScales

        public void setVisibleScales(double[] values)
        设置地图的可见比例尺数组,设置后只在设定的可见比例尺范围内时才显示地图。

        用户设置的比例尺数组在重新获取时会按照升序排列。

        参数:
        values - 地图的可见比例尺数组。
      • isTextAntialias

        public boolean isTextAntialias()
        返回是否使用地图文字反走样显示功能。
        返回:
        是否使用地图文字反走样显示功能。
      • setTextAntialias

        public void setTextAntialias(boolean value)
        设置是否使用地图文字反走样显示功能。
        参数:
        value - 是否使用地图文字反走样显示功能。
      • isLineAntialias

        public boolean isLineAntialias()
        返回是否地图线型反走样显示。
        返回:
        是否地图线型反走样显示。
      • setLineAntialias

        public void setLineAntialias(boolean value)
        设置是否地图线型反走样显示。
        参数:
        value - 是否地图线型反走样显示。
      • outputMapToEMF

        @Deprecated
        public boolean outputMapToEMF(String fileName)
        已过时。 11.1 版本已废弃
        将地图导出为增强型图元文件(.emf)。

        将地图窗口中可见范围的内容输出为 EMF 文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        注意:当比例尺为无穷大(即 getScale() 方法返回值为 0)时出图失败。

        将地图窗口中可见范围的内容输出为 EMF 文件时不建议做透明、渐变、半透明等特效。

        该方法仅在 Windows 平台版本中提供。

        参数:
        fileName - 导出的 EMF 文件的名称。
        返回:
        导出成功则返回 true,否则返回 false。
      • outputMapToPDF

        public boolean outputMapToPDF(String fileName)
        将地图输出为PDF文件。

        关于地图输出为PDF文件的详细说明,请参见:地图和布局输出为PDF

        参数:
        fileName - 指定PDF文件保存路径,路径为包含文件名的全路径。
        返回:
        输出成功返回true;否则,返回false。
      • outputMapToBitmap

        public BufferedImage outputMapToBitmap()
        将地图输出为内存图片对象。

        将地图窗口中可见范围的内容输出为内存图片文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        返回:
        返回 BufferedImage 对象。
      • outputMapToBitmap

        public BufferedImage outputMapToBitmap(boolean isBackTransparent)
        将地图输出为内存图片对象。

        将地图窗口中可见范围的内容输出为内存图片文件。当无界面出土时,出图范围需要根据设置setImageSize()来确定。

        参数:
        isBackTransparent - 是否背景透明。
        返回:
        返回 BufferedImage 对象。
      • ensureVisible

        public boolean ensureVisible(Geometry geometry)
        用于全幅显示指定几何对象,即将指定几何对象全幅显示在此地图控件中。这时,地图的可见范围为指定几何对象的最小外接矩形。
        参数:
        geometry - 要全幅显示的空间对象。
        返回:
        操作成功返回 true;否则返回 false。
        示范代码:
        以下代码示范了如何全幅显示某几何对象。
        
         public void ensureVisibleTest() {
                // 打开数据源
                Workspace workspace = new Workspace();
                String path = "G:/World";
                DatasourceConnectionInfo dsConnectionInfo = new
                        DatasourceConnectionInfo(path + "\\world.udb", "world", "");
                Datasource datasource = workspace.getDatasources().open(
                        dsConnectionInfo);
        
                // 获取数据集
                DatasetVector datasetVector = (DatasetVector) datasource.getDatasets().
                                              get(0);
        
                // 在地图中打开数据集
                Map map = new Map(workspace);
                map.getLayers().add(datasetVector, true);
        
                // 返回数据集中给定ID的对象
                int[] id = new int[] {1, 2, 3, 4, 5};
                Recordset recordset = datasetVector.query(id, CursorType.STATIC);
                Geometry geometry = recordset.getGeometry();
        
                // 全幅显示该对象
                map.ensureVisible(geometry);
                map.refresh();
        
        
            }
         
      • ensureVisible

        public boolean ensureVisible(Geometry geometry,
                                     double ratio)
        用于按指定的比例全幅显示指定几何对象,即将指定几何对象全幅显示在此地图控件中,并根据 ratio 参数的值设置其显示比例。当缩放比例为1时,地图的可见范围为指定对象的最小外接矩形。若指定缩放比例小于1时,地图的可见范围大于指定对象的最小外接矩形;若指定缩放比例大于1,地图的可见范围小于指定对象的最小外接矩形,对象不能完全显示,但可见范围的中心点始终为指定对象的最小外接矩形的中心点。
        参数:
        geometry - 要全幅显示的空间对象。
        ratio - 显示比率,默认值为 1.0,该比率对点对象无效。
        返回:
        操作成功返回 true;否则返回 false。
      • ensureVisible

        public boolean ensureVisible(Recordset recordset)
        用于全幅显示记录集对应的若干空间对象,此时,地图控件的可视范围为包含记录集中的所有记录所对应的空间对象的最小外接矩形构成的最小矩形。
        参数:
        recordset - 需要全幅显示的几何对象所对应的记录集。
        返回:
        操作成功返回 true;否则返回 false。
      • ensureVisible

        public boolean ensureVisible(Recordset recordset,
                                     double ratio)
        用于全幅显示记录集对应的若干空间对象,并通过设置 ratio 来指定显示的比率。地图当前显示范围的中心点始终为包含记录集中的所有记录所对应的空间对象的最小外接矩形所构成的最小矩形的中心点。
        参数:
        recordset - 需要全幅显示的几何对象所对应的记录集。
        ratio - 指定的显示比率,默认值为 1.0,该比率对点对象无效。
        返回:
        操作成功返回 true;否则返回 false。
        示范代码:
        以下代码示范了如何按照一定比率显示某部分记录。

        假设打开了一个工作空间 workspace 对象,工作空间中存在一幅地图。

        
         public void ensureVisible2Test() {
                // 打开工作空间中的地图
                Map map = new Map(workspace);
                map.open(workspace.getMaps().get(0));
        
                // 设定显示比率
                double ratio = 1.0;
                String queryString = "smid>=5";
        
                // 从地图中的给定图层中按照给定的查询条件查询得到记录集
                Layer layer = map.getLayers().get(0);
                DatasetVector dataset = (DatasetVector) layer.getDataset();
                Recordset recordset = dataset.query(queryString, CursorType.STATIC);
        
                // 按照给定比率显示得到的记录集
                map.ensureVisible(recordset, ratio);
                map.refresh();
        
                // 释放资源
                map.dispose();
                recordset.dispose();
                workspace.dispose();
        
            }
         
      • ensureVisible

        public boolean ensureVisible(Layer layer)
        用于全幅显示给定的图层所对应的空间对象。
        参数:
        layer - 需要全幅显示的图层。
        返回:
        操作成功返回 true;否则返回 false。
      • ensureVisible

        public boolean ensureVisible(Layer layer,
                                     double ratio)
        用于全幅显示给定图层中的空间对象,并通过设置 ratio 来指定显示的比率。地图当前显示范围的中心点始终为图层中所有空间对象的最小外接矩形所构成的最小矩形的中心点。
        参数:
        layer - 需要全幅显示的图层。
        ratio - 指定的显示比率,默认值为 1.0,该比率对点对象无效。
        返回:
        操作成功返回 true;否则返回 false。
        示范代码:
        以下代码示范了如何按照一定比率显示图层。

        假设打开了一个工作空间 workspace 对象,工作空间中存在一幅地图。

        
         public void ensureVisible3Test() {
                // 打开工作空间中的地图
                Map map = new Map(workspace);
                map.open(workspace.getMaps().get(0));
        
                // 设定显示比率
                double ratio = 1.0;
        
                // 获取地图中的给定的图层
                Layer layer = map.getLayers().get(0);
        
                // 按照给定比率显示该图层
                map.ensureVisible(layer, ratio);
                map.refresh();
        
                // 释放资源
                map.close();
                map.dispose();
                workspace.dispose();
            }
         
      • open

        public boolean open(String name)
        打开指定名称的地图。该指定名称为地图所关联的工作空间中的地图集合对象中的一个地图的名称,注意与地图的显示名称相区别。
        参数:
        name - 地图名称。
        返回:
        打开成功则返回 true,否则返回 false。
      • close

        public void close()
        关闭当前地图。
      • findSelection

        public Selection[] findSelection(boolean hasGeometrySelected)
        返回当前地图的选择集。返回的选择集为地图中所有图层的选择集的副本的集合。当参数 hasGeometrySelected 为 true 时,返回所有有选择对象的图层的选择集,否则返回所有图层的选择集。
        参数:
        hasGeometrySelected - 指定返回的选择集是所有图层的还是有选择对象的图层的。当其为 true 时,返回所有有选择对象的图层的选择集,否则返回所有图层的选择集。
        返回:
        当参数 hasGeometrySelected 为 true 时,返回所有有选择对象的图层的选择集,否则返回所有图层的选择集。
      • outputMapToBMP

        public boolean outputMapToBMP(String fileName)
        将地图导出为微软位图文件(.bmp)。

        注意:

        1.当比例尺为无穷大(即 getScale() 方法的返回值为 0)时出图失败。

        2.输出的地图范围是可见范围。

        参数:
        fileName - 导出的 BMP 文件的名称。
        返回:
        导出成功则返回 true,否则返回 false。
        示范代码:
        请参见 Map.outputMapToJPG() 方法的示例。
      • outputMapToJPG

        public boolean outputMapToJPG(String fileName)
        将地图导出为 JPEG 图像文件(*.jpg)。

        注意:当比例尺为无穷大(即 getScale() 方法的返回值为 0)时出图失败。

        将地图窗口中可见范围的内容输出为JPG文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        参数:
        fileName - 导出的 JPG 文件的名称。
        返回:
        导出成功则返回 true,否则返回 false。
        示范代码:
        以下代码示范了如何进行地图出图,输出的格式为(BMP、JPG、PNG(背景透明)、EMF、EPS)。

        假设打开了一个工作空间 workspace 对象,工作空间中存在一幅地图。

        
         public void outputMapToJPGTest() {
                // 打开工作空间里面的地图
                Map map = new Map(workspace);
                map.open(workspace.getMaps().get(0));
        
                // 输出地图为 JPG 文件
                String outputFileJPG = "c:/temp/outputTest.jpg";
                map.outputMapToJPG(outputFileJPG);
        
                // 输出地图为 PNG 文件
                String outputFilePNG = "c:/temp/outputTest.png";
                map.outputMapToPNG(outputFilePNG, true);
        
                // 输出地图为 BMP 文件
                String outputFileBMP = "c:/temp/outputTest.bmp";
                map.outputMapToBMP(outputFileBMP);
        
                // 输出地图为 EMF 文件
                String outputFileEMF = "c:/temp/outputTest.emf";
                map.outputMapToEMF(outputFileEMF);
        
                // 释放资源
                map.dispose();
            }
         
      • outputMapToPNG

        public boolean outputMapToPNG(String fileName,
                                      boolean isBackTransparent)
        将地图导出为便携网络图形(PNG)格式图像文件。

        将地图窗口中可见范围的内容输出为PNG文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        注意:1.当比例尺为无穷大(即 getScale() 方法返回值为 0)时出图失败。

        注意:2.设置输出的图片背景色透明时,如果计算机的颜色质量设置为中(16位)时, 输出图片的背景色为黑色而非透明;如果设置为最高(32位)时,输出的图片背景色为透明的。

        参数:
        fileName - 导出的 PNG 文件的名称。
        isBackTransparent - 表示背景色是否透明。
        返回:
        导出成功则返回 true,否则返回 false。
        示范代码:
        请参见 Map.outputMapToJPG() 方法的示例。
      • outputMapToWEBP

        public boolean outputMapToWEBP(String fileName,
                                       boolean isBackTransparent)
        地图输出为webp文件
        参数:
        fileName - 文件路径
        isBackTransparent - 是否背景透明
        返回:
        是否成功
        抛出:
        IllegalStateException - 当前对象已被释放
      • outputTrackingLayerToPNG

        public boolean outputTrackingLayerToPNG(String fileName,
                                                boolean isBackTransparent)
        导出跟踪图层上的地图至 PNG 文件。

        注意:当比例尺为无穷大(即 getScale() 方法返回值为 0)时出图失败。

        参数:
        fileName - 导出的 PNG 文件的名称。
        isBackTransparent - 表示背景色是否透明。
        返回:
        导出成功则返回 true,否则返回 false。
        示范代码:
        以下代码示范了获取给定图层中的记录集,并将从记录集中返回的几何对象添加到跟踪图层,最后将跟踪图层输出为 PNG 格式文件。

        假设打开了一个工作空间 workspace 对象,工作空间中存在一幅地图。

        
         public void outputTrackingLayerToPNGTest() {
                // 打开工作空间中的地图
                Map map = new Map(workspace);
                map.open(workspace.getMaps().get(0));
        
                //获取地图中的给定的图层,并返回图层中所有的记录集
                Layer layer = map.getLayers().get(0);
                DatasetVector datasetVector = (DatasetVector) layer.getDataset();
                Recordset recordset = datasetVector.getRecordset(false,
                        CursorType.STATIC);
                recordset.moveFirst();
        
                //返回记录集中的几何对象,并添加到跟踪图层中
                for (int i = 0; i < recordset.getRecordCount(); i++) {
                    Geometry geometry = recordset.getGeometry();
                    map.getTrackingLayer().add(geometry, String.valueOf(i));
                    recordset.moveNext();
                }
        
                // 将跟踪图层中的地图导出为 PNG 文件
                String outputFilePNG = "c:/temp/OutputTrackinglayerToPNGTest.png";
                map.outputTrackingLayerToPNG(outputFilePNG, false);
        
                // 释放资源
                map.dispose();
                recordset.dispose();
            }
         
      • outputTrackingLayerToPNG

        public boolean outputTrackingLayerToPNG(String fileName,
                                                boolean isBackTransparent,
                                                int dpi,
                                                Rectangle2D bounds)
        根据指定的参数,将跟踪图层导出至 PNG 文件。
        参数:
        fileName - 指定的文件名。
        isBackTransparent - 是否背景透明。
        dpi - 指定的 dpi。
        bounds - 指定的出图的地理范围。
        返回:
        返回一个布尔值,若导出成功则返回 true,否则返回 false。
      • outputScreenLayerToPNG

        public boolean outputScreenLayerToPNG(String fileName,
                                              boolean isBackTransparent)
        根据给定的参数,将屏幕图层导出为 PNG 文件。
        参数:
        fileName - 指定的文件名。
        isBackTransparent - 是否背景透明。
        返回:
        一个布尔值,若导出成功则返回 true,否则返回 false。
      • outputScreenLayerToPNG

        public boolean outputScreenLayerToPNG(String fileName,
                                              boolean isBackTransparent,
                                              int dpi,
                                              Rectangle2D bounds)
        /** 根据给定的参数,将屏幕图层导出为 PNG 文件。
        参数:
        fileName - 指定的文件名。
        isBackTransparent - 是否背景透明。
        dpi - 指定的 dpi。
        bounds - 指定的出图的地理范围。
        返回:
        导出成功则返回 true,否则返回 false。
      • outputMapToFile

        public boolean outputMapToFile(String fileName,
                                       ImageType type,
                                       boolean isBackTransparent)
        根据给定的参数,将地图输出为图片文件。

        将地图窗口中可见范围的内容输出为图片文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        参数:
        fileName - 输出文件的全路径。
        type - 出图的图片类型。
        isBackTransparent - 是否背景透明。该参数仅在 type 参数设置为 GIF 和 PNG 类型时有效。
        返回:
        导出成功则返回 true,否则返回 false。
      • outputMapToFile

        public boolean outputMapToFile(String fileName,
                                       ImageType type,
                                       int dpi,
                                       Rectangle2D bounds,
                                       boolean isBackTransparent)
        根据给定的参数,将地图输出为图片文件。对于大幅面、大数据地图的输出打印,可以先通过此接口将地图输出成高分辨率的某种格式的图片,然后对图片进行打印。

        将地图窗口中可见范围的内容输出为图片文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        带 DPI 参数的出图支持四种格式:BMP、JPG、PNG、TIFF。PNG格式不支持过大分辨率的出图。

        参数:
        fileName - 输出文件的全路径。
        type - 出图的图片类型。
        dpi - 设置出图的分辨率。
        bounds - 设置出图的范围。
        isBackTransparent - 是否背景透明。该参数仅在 type 参数设置 PNG 类型时有效。
        返回:
        导出成功则返回 true,否则返回 false。
      • outputMapToDatasetImage

        public DatasetImage outputMapToDatasetImage(Datasource datasource,
                                                    String datasetName,
                                                    double resolution,
                                                    Rectangle2D bounds,
                                                    EncodeType encodeType)
        将地图输出为影像数据集。
        参数:
        datasource - 生成的影像数据集存放的数据源。
        datasetName - 生成的影像数据集的名称。
        resolution - 生成的影像数据集的分辨率。
        bounds - 生成的影像数据集的输出范围。
        encodeType - 生成的影像数据集的编码方式。
        返回:
        新生成的影像数据集。
      • outputMapToEPS

        @Deprecated
        public boolean outputMapToEPS(String fileName)
        已过时。 已过时。
        将地图导出为内嵌式 Postscript 格式(EPS)文件。

        将地图窗口中可见范围的内容输出为 EPS 文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        注意:当比例尺为无穷大(即 getScale() 方法返回值为 0)时出图失败。

        EPS 输出仅支持 windows 自带填充, 不支持半透明填充和渐变填充,中文字体输出可能为乱码,通过 Illustrator 等绘图软件进行修改字体,然后保存即可。

        参数:
        fileName - 导出的 EPS 文件的名称。
        返回:
        导出成功则返回 true,否则返回 false。
      • outputMapToGIF

        @Deprecated
        public boolean outputMapToGIF(String fileName,
                                                   boolean isBackTransparent)
        已过时。 已过时。
        将地图导出为可交换图像文件(GIF 格式文件)。

        将地图窗口中可见范围的内容输出为GIF文件。当无界面出图时,出图范围需要根据设置setImageSize()来确定。

        注意:当比例尺为无穷大(即 getScale() 返回值为 0)时出图失败。

        参数:
        fileName - 导出的 GIF 文件的名称。
        isBackTransparent - 表示背景色是否透明。
        返回:
        输出成功返回 true,否则返回 false。
      • zoom

        public void zoom(double ratio)
        将地图放大或缩小指定的比例。缩放之后地图的比例尺=原比例尺 *ratio,其中 ratio 必须为正数,当 ratio 为大于1时,地图被放大;当 ratio 小于1时,地图被缩小。
        参数:
        ratio - 缩放地图比例,此值不可以为负。
      • pan

        public void pan(double offsetX,
                        double offsetY)
        将地图平移指定的距离。
        参数:
        offsetX - X 方向上的移动距离,单位为坐标单位。
        offsetY - Y 方向上的移动距离,单位为坐标单位。
      • mapToPixel

        public Point mapToPixel(Point2D point)
        将地图中指定点的地图坐标转换为像素坐标。 这个方法必须在设置 setImageSize() 方法之后才能正常工作。
        参数:
        point - 要转换坐标的指定点。
        返回:
        指定点的像素坐标。
        示范代码:
        以下代码示范了返回当前鼠标点的地理坐标,并展现出来。
        
         public void mapControl_MouseDown(MouseEvent e) {
                // 获取鼠标点
                java.awt.Point pointMouse = new java.awt.Point(e.getX(), e.getY());
        
                // 将地图中指定点的像素坐标转换为地图坐标
                Point2D point = mapControl.getMap().pixelToMap(pointMouse);
        
                // 显示鼠标点的地理坐标
                System.out.println("点的坐标为:" + point.getX() + "," + point.getY());
            }
         
      • mapToLogical

        public Point2D mapToLogical(Point2D point)
        将地图中指定点的地图坐标转换为逻辑坐标。
        参数:
        point - 要转换坐标的指定点。
        返回:
        以逻辑坐标来表示的指定点对象
      • logicalToMap

        public Point2D logicalToMap(Point2D point)
        将地图中指定点的逻辑坐标转换为地图坐标。
        参数:
        point - 要转换坐标的指定点。
        返回:
        以地图坐标来表示的指定点对象。
      • logicalToPixel

        public Point logicalToPixel(Point2D point)
        将地图中指定点的逻辑坐标转换为屏幕坐标。
        参数:
        point - 要转换坐标的指定点。
        返回:
        以屏幕坐标来表示的指定点对象。
      • pixelToLogical

        public Point2D pixelToLogical(Point point)
        将地图中指定点的屏幕坐标转换为逻辑坐标。
        参数:
        point - 要转换坐标的指定点。
        返回:
        以逻辑坐标来表示的指定点对象。
      • pixelToMap

        public Point2D pixelToMap(Point point)
        将地图中指定点的像素坐标转换为地图坐标。 这个方法必须在设置 setImageSize() 方法之后才能正常工作。
        参数:
        point - 要转换坐标的指定点。
        返回:
        指定点的地图坐标。
      • refresh

        public void refresh()
        重新绘制当前地图。
      • refreshWithSnapshot

        public void refreshWithSnapshot()
        重绘地图,并刷新快照图层
      • refreshTrackingLayer

        public void refreshTrackingLayer()
        用于刷新地图窗口中的跟踪图层。
      • refreshEx

        public void refreshEx(Rectangle2D rect)
        刷新给定范围内的地图内容。
        参数:
        rect - 指定的范围。
      • viewEntire

        public void viewEntire()
        全幅显示此地图。
      • fromXML

        public boolean fromXML(String xml)
        根据指定的 XML 字符串创建地图对象。

        任何地图都可以导出成 xml 字符串,而地图的 xml 字符串也可以导入成为一个地图来显示。地图的 xml 字符串中存储了关于地图及其图层的显示设置以及关联的数据信息等。此外,可以将地图的 xml 字符串保存成一个 xml 文件。

        参数:
        xml - 用来创建地图的 xml 字符串。
        返回:
        创建成功则返回 true,否则返回 false。
        示范代码:
        请参见 Map.toXML() 方法的示例。
      • fromXML

        public boolean fromXML(String xml,
                               WorkspaceVersion version)
        用 XML 字符串创建地图对象。

        任何地图都可以导出成 xml 字符串,而地图的 xml 字符串也可以导入成为一个地图来显示。地图的 xml 字符串中存储了关于地图及其图层的显示设置以及关联的数据信息等。此外,可以将地图的 xml 字符串保存成一个 xml 文件。

        参数:
        xml - 用于创建地图对象的 XML 字符串。
        version - xml 内容所对应的工作空间的版本。使用该参数时,请确保指定的版本与 xml 内容相符。若不相符,可能会导致部分图层的风格丢失。
        返回:
        返回一个布尔值,若地图对象创建成功,返回 true,否则返回 false。
      • toXML

        public String toXML()
        返回此地图对象的 XML 字符串形式的描述。

        任何地图都可以导出成 xml 字符串,而地图的 xml 字符串也可以导入成为一个地图来显示。地图的 xml 字符串中存储了关于地图及其图层的显示设置以及关联的数据信息等。此外,可以将地图的 xml 字符串保存成一个 xml 文件。

        返回:
        返回地图的 XML 形式的描述。
        示范代码:
        以下代码示范了打开地图,并将地图导出为 XML 字符串形式的描述。

        假设打开了一个工作空间 workspace 对象,工作空间中存在一幅地图。

        
         public void toAndFromXMLTest() {
                // 打开工作空间中的地图
                Map map = new Map(workspace);
                map.open(workspace.getMaps().get(0));
        
                // 将地图导出为 XML 字符串
                String xml = map.toXML();
                map.close();
        
                // 通过导入 xml 字符串创建地图
                map.fromXML(xml);
        
                // 将地图输出为 PNG 文件
                map.outputMapToPNG(path + "\\mapPNG.png", true);
        
                //释放资源
                map.dispose();
            }
         
      • dispose

        public void dispose()
        释放对象所占用的资源。调用该方法之后,此对象不再可用。
      • isOrthographView

        public boolean isOrthographView()
        返回用于控制地图是否以正射投影方式显示。
        返回:
        返回用于控制地图是否以正射投影方式显示。
      • setOrthographView

        public void setOrthographView(boolean value)
        设置用于控制地图是否以正射投影方式显示。
        参数:
        value - 用于控制地图是否以正射投影方式显示。
      • isDisableDynamicEffect

        public boolean isDisableDynamicEffect()
        返回是否在出图的时候关闭地图的动态效果。
        返回:
        一个布尔值,返回是否在出图的时候关闭地图的动态效果。
        默认值:
        默认值为 false,表示在出图的时候不关闭地图动态效果。
      • setDisableDynamicEffect

        public void setDisableDynamicEffect(boolean value)
        设置是否在出图的时候关闭地图的动态效果。

        当关闭地图的动态效果(setDisableDynamicEffect(true))时,其地图下的统计专题图或标签专题图图层的流动显示和自动避让效果将无效,即ThemeGraph/ThemeLabel.setFlowEnable(true) 或 ThemeGraph/ThemeLabel.setOverlapAvoided(true)无效果。

        参数:
        value - 一个布尔值,true 表示关闭地图动态效果,false 表示不关闭地图动态效果。
      • isDisableAutoAvoidEffect

        public boolean isDisableAutoAvoidEffect()
        是否在出图的时候关掉地图的自动避让效果。
        返回:
        一个布尔值,指示是否在出图的时候关掉地图的自动避让效果,true表示关闭自动避让效果;false表示不关闭。
      • setDisableAutoAvoidEffect

        public void setDisableAutoAvoidEffect(boolean value)
        设置是否在出图的时候关掉地图的自动避让效果。
        参数:
        value - 一个布尔值,指示是否在出图的时候关掉地图的自动避让效果,true表示关闭自动避让效果;false表示不关闭。
      • getHashCode

        public String getHashCode(ImageType imageType)
        根据对应的图片类型,返回当前地图对应的 HashCode,该值通常用于计算地图缓存瓦片数据的文件名。
        参数:
        imageType - HashCode 对应的图片类型。
        返回:
        当前地图对应的 HashCode。
      • isInflateBounds

        public boolean isInflateBounds()
        获取地图查询时是否扩大范围
        返回:
        是否扩大范围
        抛出:
        IllegalStateException - 当前对象已被释放
      • setInflateBounds

        public void setInflateBounds(boolean value)
        地图查询时是否扩大范围
        参数:
        value - 是否扩大
        抛出:
        IllegalStateException - 当前对象已被释放
      • addDrawingListener

        public void addDrawingListener(MapDrawingListener l)
        添加一个用于接收地图绘制操作事件(MapDrawingEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制操作事件的监听器。
      • removeDrawingListener

        public void removeDrawingListener(MapDrawingListener l)
        移除一个用于接收地图绘制操作事件(MapDrawingEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制操作事件的监听器。
      • addDrawnListener

        public void addDrawnListener(MapDrawnListener l)
        添加一个用于接收地图绘制结束事件(MapDrawnEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制结束事件的监听器。
      • removeDrawnListener

        public void removeDrawnListener(MapDrawnListener l)
        移除一个用于接收地图绘制结束事件(MapDrawnEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制结束事件的监听器。
      • addDrawContinuingListener

        public void addDrawContinuingListener(MapDrawContinuingListener l)
        添加一个用于接收地图绘制继续事件(MapDrawContinuingEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制继续事件的监听器。
      • removeDrawContinuingListener

        public void removeDrawContinuingListener(MapDrawContinuingListener l)
        移除一个用于接收地图绘制继续事件(MapDrawContinuingEvent)的监听器。
        参数:
        l - 一个用于接收地图绘制继续事件的监听器。
      • addSteppedListener

        public void addSteppedListener(SteppedListener l)
        添加一个用于接收地图输出为影像数据集的进度条(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收地图输出为影像数据集进度的监听器。
      • removeSteppedListener

        public void removeSteppedListener(SteppedListener l)
        移除一个用于接收地图输出为影像数据集的进度条(SteppedEvent)的监听器。
        参数:
        l - 一个用于接收地图输出为影像数据集进度的监听器。
      • addTrackingLayerDrawingListener

        public void addTrackingLayerDrawingListener(TrackingLayerDrawingListener l)
        添加一个用于接收绘制跟踪图层事件(TrackingLayerDrawingEvent)的监听器。
        参数:
        l - 一个用于接收绘制跟踪图层事件的监听器。
      • removeTrackingLayerDrawingListener

        public void removeTrackingLayerDrawingListener(TrackingLayerDrawingListener l)
        移除一个用于接收绘制跟踪图层事件(TrackingLayerDrawingEvent)的监听器。
        参数:
        l - 一个用于接收绘制跟踪图层事件的监听器。
      • addTrackingLayerDrawnListener

        public void addTrackingLayerDrawnListener(TrackingLayerDrawnListener l)
        添加一个用于接收绘制跟踪图层结束事件(TrackingLayerDrawnEvent)的监听器。
        参数:
        l - 一个用于接收绘制跟踪图层结束事件的监听器。
      • removeTrackingLayerDrawnListener

        public void removeTrackingLayerDrawnListener(TrackingLayerDrawnListener l)
        移除一个用于接收绘制跟踪图层结束事件(TrackingLayerDrawnEvent)的监听器。
        参数:
        l - 一个用于接收绘制跟踪图层结束事件的监听器。
      • addMapOpenedListener

        public void addMapOpenedListener(MapOpenedListener l)
        添加一个用于接收地图打开事件(MapOpenedEvent)的监听器。
        参数:
        l - 一个用于接收地图打开事件的监听器。
      • removeMapOpenedListener

        public void removeMapOpenedListener(MapOpenedListener l)
        移除一个用于接收地图打开事件(MapOpenedEvent)的监听器。
        参数:
        l - 一个用于接收地图打开事件的监听器。
      • addMapClosedListener

        public void addMapClosedListener(MapClosedListener l)
        添加一个用于接收地图关闭事件(MapClosedEvent)的监听器。
        参数:
        l - 一个用于接收地图关闭事件的监听器。
      • removeMapClosedListener

        public void removeMapClosedListener(MapClosedListener l)
        移除一个用于接收地图关闭事件(MapClosedEvent)的监听器。
        参数:
        l - 一个用于接收地图关闭事件的监听器。
      • getMapControl

        public MapControl getMapControl()
        获取当前地图绑定的地图窗口控件
        返回:
        地图窗口控件
      • isFillMarkerAngleFixed

        public boolean isFillMarkerAngleFixed()
        返回是否固定填充符号的填充角度。
        返回:
        是否固定填充符号的填充角度。
      • setFillMarkerAngleFixed

        public void setFillMarkerAngleFixed(boolean value)
        设置是否固定填充符号的填充角度。
        参数:
        value - 是否固定填充符号的填充角度。
      • isSymbolFillIgnored

        public boolean isSymbolFillIgnored()
        返回当前地图是否忽略符号填充。

        地图支持忽略符号填充时则只绘制填充区域的背景色,不进行符号的绘制。

        该方法对位图填充设置无效。

        返回:
        一个布尔值,返回当前地图是否忽略符号填充。
        默认值:
        默认值为 false,表示当前地图不忽略符号填充。
      • setSymbolFillIgnored

        public void setSymbolFillIgnored(boolean value)
        设置当前地图是否忽略符号填充。
        参数:
        value - 一个布尔值,true 表示忽略符号填充,false 表示不忽略符号填充。
      • getChartSetting

        public ChartSetting getChartSetting()
        返回海图显示参数,如海图的显示模式、显示类型名称、颜色模式、安全水深线等各属性。
        返回:
        海图显示参数。
      • isContainLayerChart

        public boolean isContainLayerChart()
        返回当前地图是否包含海图图层,true,表示包含;false,表示不包含。
        返回:
        一个布尔值,用来指示当前地图是否包含海图图层,true,表示包含;false,表示不包含。
      • isUseSystemDPI

        public boolean isUseSystemDPI()
        返回是否使用系统的的DPI。
        返回:
        一个布尔值,用来指示是否使用系统的DPI,true,表示使用系统的DPI;false,表示使用地图的设置。
        默认值:
        默认值为true。
      • setUseSystemDPI

        public void setUseSystemDPI(boolean value)
        返回是否使用系统的的DPI。
      • getDPI

        public double getDPI()
        返回地图的DPI,代表每英寸有多少个像素,值域为(60,180)。
        返回:
        地图的DPI。
      • setDPI

        public void setDPI(double value)
        设置地图的DPI,代表每英寸有多少个像素,值域为(60,180)。
      • isCompatibleFontHeight

        public boolean isCompatibleFontHeight()
        表示是否为兼容模式下的字。

        7.1版本去除SuperMap.xml中的IsSupportClearType节点信息,以及废弃Environment .IsClearTypeSupported 接口。改为地图的方法(Map.IsCompatibleFontHeight()和Map.setCompatibleFontHeight()),表示是否为兼容模式下的字,为false时与SuperMap GIS 7C及6R字体大小一样,为true时与Micorsoft Office World 等软件字体大小相同,表现为false时文字会小一些,true时文字会大一些。

        返回:
        返回一个布尔值,表示是否为兼容模式下的字。
      • setCompatibleFontHeight

        public void setCompatibleFontHeight(boolean value)
        设置是否为兼容模式下的字。

        7.1版本去除SuperMap.xml中的IsSupportClearType节点信息,以及废弃Environment .IsClearTypeSupported 接口。改为地图的方法(Map.IsCompatibleFontHeight()和Map.setCompatibleFontHeight()),表示是否为兼容模式下的字,为false时与SuperMap GIS 7C及6R字体大小一样,为true时与Micorsoft Office World 等软件字体大小相同,表现为false时文字会小一些,true时文字会大一些。

        参数:
        value - 一个布尔值,表示是否为兼容模式下的字。
      • isGraphicsAlphaEnable

        public boolean isGraphicsAlphaEnable()
        返回地图是否使用了Alpha通道。true表示使用;false表示未使用Alpha通道。

        当在新建的地图中第一次添加图层时,如果添加的图层为矢量数据图层,地图的Alpha通道自动开启,即该接口的值为true;如果添加的图层是影像或者栅格图层时,地图的Alpha通道自动关闭,来提高地图的显示效率,即该接口的值为false。

        返回:
        一个布尔值,指示地图是否使用了Alpha通道。true表示使用;false表示未使用Alpha通道。
      • setGraphicsAlphaEnable

        public void setGraphicsAlphaEnable(boolean value)
        设置地图是否使用Alpha通道。true表示使用;false表示未使用Alpha通道。
        参数:
        value - 一个布尔值,指示地图是否使用了Alpha通道。true表示使用;false表示未使用Alpha通道。
      • getDynamicLayers

        public DynamicLayers getDynamicLayers()
        返回地图的动态图层集合。
        返回:
        返回地图的动态图层集合。
      • getBookMarks

        public BookMarks getBookMarks()
        返回地图的书签集合,地图书签用来保存地图浏览时的感兴趣区域。
        返回:
      • getTileZoomInCacheEnable

        public boolean getTileZoomInCacheEnable()
        获取是否开启瓦片地图放大过渡
        返回:
        boolean 是否开启
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTileZoomInCacheEnable

        public void setTileZoomInCacheEnable(boolean bEnable)
        设置是否开启瓦片地图放大过渡,默认开启
        参数:
        bEnable - 是否开启
        抛出:
        IllegalStateException - 当前对象已被释放
      • getTileRefreshIntervals

        public int getTileRefreshIntervals()
        获取瓦片图层刷新间隔
        返回:
        时间(毫秒)
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTileRefreshIntervals

        public void setTileRefreshIntervals(int nTime)
        设置瓦片刷新间隔
        参数:
        nTime - 时间(毫秒)
        抛出:
        IllegalStateException - 当前对象已被释放
      • isTempCacheFileEnable

        public boolean isTempCacheFileEnable()
        获取是否已经启动地图临时缓存
        返回:
        抛出:
        IllegalStateException - 当前对象已被释放
      • setTempCacheFileEnable

        public void setTempCacheFileEnable(boolean value)
        设置是否启用临时缓存文件
        参数:
        value - 是否启用
        抛出:
        IllegalStateException - 当前对象已被释放
      • getTimeStep

        public TimeSpan getTimeStep()
        返回播放时态数据的时间步长间隔。
        返回:
        返回播放时态数据的时间步长间隔。
        抛出:
        IllegalStateException - 当前对象已被释放
      • getTimeWindow

        public TimeSpan getTimeWindow()
        返回播放时态数据的时间窗。
        返回:
        返回播放时态数据的时间窗。
      • setTimeWindow

        public void setTimeWindow(TimeSpan timeWindow)
        设置播放时态数据的时间窗。

        默认情况下,时间窗的值为0。当前帧显示的时间范围与时间窗有关,具体参见:Map.getCurrentPlayerTick()接口的描述。

        参数:
        timeWindow - 播放时态数据的时间窗。
      • getCurrentPlayerTick

        public int getCurrentPlayerTick()
        返回当前地图播放显示的帧的序号。

        下面介绍如何计算当前帧播放的时间范围,地图将依据该范围去过滤显示所有启用时间的图层对象,从而确定当前帧的显示内容。

        1.基于当前的播放参数设置,计算播放的总帧数:

        总帧数=时间线的起止时间差/时间步长间隔=(getMapEndTime()-getMapStartTime())/getTimeStep()

        2.总帧数相当于对时间线均匀地划分时间刻度,刻度间隔为getTimeStep(),确定当前帧所指的时间刻度:

        当前帧的时间刻度=时间线的起始时间+帧数*时间步长间隔=getMapStartTime()+getTimeStep()*getCurrentPlayerTick()

        3.当前帧可显示的时间并非时间刻度的值而是一段时间,当前帧的时间范围计算如下:

        若时间窗设置为0,当前帧时间范围为:(当前帧的时间刻度,当前帧的时间刻度+时间步长间隔];

        若时间窗为非0值,当前帧时间范围为:(当前帧的时间刻度-时间窗,当前帧的时间刻度+时间步长间隔]。

        返回:
        返回当前地图播放显示的帧的序号。
      • setCurrentPlayerTick

        public void setCurrentPlayerTick(int currentTick)
        设置当前地图播放显示的帧的序号。
        参数:
        currentTick - 当前地图播放显示的帧的序号。
      • getMapStartTime

        public Date getMapStartTime()
        返回地图播放显示时态数据的时间线长度的起始时间值。
        返回:
        返回地图播放显示时态数据的时间线长度的起始时间值。
      • setMapStartTime

        public void setMapStartTime(Date startTime)
        设置地图播放显示时态数据的时间线长度的起始时间值。

        时间线的起止时间默认值,可以使用方法Map.getDefaultMapStartTime()Map.getDefaultMapEndTime()计算获得,该方法遍历所有启用时间且可见的图层的时间字段,取时间值的最小和最大值分别作为时间线的起止时间。

        参数:
        startTime - 地图播放显示时态数据的时间线长度的起始时间值。
      • getMapEndTime

        public Date getMapEndTime()
        返回地图播放显示时态数据的时间线长度的终止时间值。
        返回:
        返回地图播放显示时态数据的时间线长度的终止时间值。
      • setMapEndTime

        public void setMapEndTime(Date endTime)
        设置地图播放显示时态数据的时间线长度的终止时间值。

        时间线的起止时间默认值,可以使用方法Map.getDefaultMapStartTime()Map.getDefaultMapEndTime()计算获得,该方法遍历所有启用时间且可见的图层的时间字段,取时间值的最小和最大值分别作为时间线的起止时间。

        参数:
        endTime - 地图播放显示时态数据的时间线长度的终止时间值。
      • isTimeEnable

        public boolean isTimeEnable()
        返回地图是否启用播放显示时态数据的功能。
        返回:
        返回地图是否启用播放显示时态数据的功能。
      • IsTimeEnable

        @Deprecated
        public boolean IsTimeEnable()
        已过时。 
      • setTimeEnable

        public void setTimeEnable(boolean bEnable)
        设置地图是否启用播放显示时态数据的功能。

        地图播放显示时态数据的实质是通过时间过滤条件过滤显示图层对象。

        地图播放显示的时态数据图层必须启用时间,并完成时间相关设置,具体参见Layer对象中时间相关接口。

        下文描述地图播放显示时态数据的具体过程:

        首先,在Map对象中指定播放数据的时间范围(时间线起止时间)、时间步长间隔、时间窗,并可以根据这些设置参数计算获得当前地图播放时态数据的总帧数。

        然后,确定地图当前帧显示的对象内容:

        1.确定地图显示的当前帧(Map.getCurrentPlayerTick());

        2.根据时间步长间隔(Map.getTimeStep())、时间窗(Map.getCurrentPlayerTick())、时间线起始时间(Map.getMapStartTime()Map.getMapEndTime()),计算当前帧的起止时间;

        3.当前帧的起止时间传入启用时间的Layer对象,即分别赋值给Layer.setTimeFilterStarting()Layer.setTimeFilterEnding()

        4.根据Layer对象的getTimeFilterStarting()getTimeFilterEnding()返回值,构成时间过滤条件(getTimeFilterStarting(),getTimeFilterEnding()]来过滤显示图层对象,具体为:判断图层对象时间值构成的时间区间[Layer.getTimeStartField() () getTimeStartField()},Layer.getTimeEndField() () getTimeEndField()}]是否与查询时间条件有交集,若有对象显示,否则,对象不显示。

        由此,实现Map对象按照某时间序列播放显示时态数据的效果,方便查看数据随时间推移而呈现出的模式或变化趋势。

        地图中那些启用时间且可见的图层才能播放显示,并且相关参数的计算也基于这些图层。

        参数:
        bEnable - 是否启用时间播放
      • getDefaultMapStartTime

        public Date getDefaultMapStartTime()
        遍历所有启用时间且可见的图层的时间字段,返回时间值的最小值作为时间线的起始时间。
        返回:
        遍历所有启用时间且可见的图层的时间字段,返回时间值的最小值作为时间线的起始时间。
      • getDefaultMapEndTime

        public Date getDefaultMapEndTime()
        遍历所有启用时间且可见的图层的时间字段,返回时间值的最大值作为时间线的终止时间。
        返回:
        遍历所有启用时间且可见的图层的时间字段,返回时间值的最大值作为时间线的终止时间。
      • getMinTimeStep

        public TimeSpan getMinTimeStep()
        计算地图播放显示时态数据的默认时间步长间隔。
        返回:
        返回地图播放显示时态数据的默认时间步长间隔。
      • getTimeFormat

        public String getTimeFormat()
        时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以返回显示时间的格式。
        返回:
        返回显示时间的格式。
      • setTimeFormat

        public void setTimeFormat(String timeFormat)
        时态数据播放显示时,如果设置窗口显示当前帧的时间范围,该接口可以设置显示时间的格式。

        当时态数据播放时,地图窗口可以显示当前播放帧的时间范围,例如当前播放帧的起止时间为:2018/6/1 13:30:10 到 2018/6/1 14:00:10,可以通过设置使地图窗口显示出:时间:2018年6月1日 13时30分10 秒 到 2018年6月1日 14时00分10秒,从而展示每一帧所显示数据的时间范围。关于窗口所显示的时间的格式,可以由用户自定义,如:2018/6/1 13:30:10、2018-6-1、2018年6月1日、13时30分,下文将详细介绍该方法传入的时间格式字符串如何构造。

        1. 地图窗口仅显示日期。

        日期中的年份使用“YYYY”或者“YY”作为格式化字符,系统遍历该方法传入的字符串,如果含有“YYYY”或者“YY”,在显示时间时,将使用当前帧时间范围中的年份去替换这两个字符串,其中:“YYYY”替换为四位数的年份,而“YY”则取年份的后两位数替换。

        同理,日期中的月份使用“MM”作为格式化字符,为两位数的月份;日期中的日使用“DD”作为格式化字符,为两位数的日。

        2. 地图窗口仅显示时间。

        时间中的小时使用“hh”作为格式化字符串,系统遍历该方法传入的字符串,如果含有“hh”,在显示时间时,将使用当前帧时间范围中的小时数去替换该字符串,小时数的表达采用24小时制。

        同理,时间中的分钟使用“mm”作为格式化字符;时间中的秒使用“ss”作为格式化字符。

        3. 地图窗口同时显示日期和时间,使用上述格式化字符构造日期和时间的组合方式。

        【注意】时间格式化字符的大小写必须严格遵守上述的内容。

        上述描述了如何格式化时间,其实质就是:系统对于该方法传入的字符串,除了将上述的时间格式化字符替换为相应的时间数值外,所有非时间格式化字符都将直接显示。

        【注意】时间格式字符串中不支持添加“%”和“\”特殊字符。

        参数:
        timeFormat - 指定显示时间的格式。
      • getTimeTextPosition

        public TextPosition getTimeTextPosition()
        返回时态数据播放显示时,窗口所显示的时间文本的位置,位置为时间文本锚点相对于窗口的位置。
        返回:
        返回窗口所显示的时间文本的位置。
      • setTimeTextPosition

        public void setTimeTextPosition(TextPosition timeTextPosition)
        设置时态数据播放显示时,窗口所显示的时间文本的位置,位置为时间文本锚点相对于窗口的位置。

        地图窗口显示的时间文本可以选择在如下窗口9种位置中的任意一个位置显示。

        时间文本显示时,文本的锚点将与上述窗口的9个位置中指定的位置对齐,并且此时,文本的锚点与文本的相对位置也需保持一致。例如:如果选择时间文本在窗口底部居中的位置显示,那么文本的锚点与文本的对齐方式应为中下点对齐,即文本的锚点位于文本外接矩形的中下点。

        参数:
        timeTextPosition - 指定窗口所显示的时间文本的位置。
      • isShowTime

        public boolean isShowTime()
        返回时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示。
        返回:
        返回时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示。
      • setIsShowTime

        public void setIsShowTime(boolean isShowTime)
        设置时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示。

        当时态数据播放时,地图窗口可以显示当前播放帧的时间范围,例如当前播放帧的起止时间为:2018/6/1 13:30:10 到 2018/6/1 14:00:10,可以通过设置使地图窗口显示出:时间:2018年6月1日 13时30分10 秒 到 2018年6月1日 14时00分10秒,从而展示每一帧所显示数据的时间范围。关于窗口所显示的时间的格式,可以由用户自定义,如:2018/6/1 13:30:10、2018-6-1、2018年6月1日、13时30分,自定义时间格式请参见:Map.setTimeFormat()

        参数:
        isShowTime - 一个布尔值,指示时态数据播放显示时,窗口是否显示当前帧的时间范围的文本,true表示显示,false表示不显示。
      • getTimeTextStyle

        public TextStyle getTimeTextStyle()
        当时态数据播放显示时,可以设置在窗口上显示当前帧的起止时间,该接口返回时间文本的样式。
        返回:
        返回时间文本的样式。
      • setTimeTextStyle

        public void setTimeTextStyle(TextStyle timeTextStyle)
        当时态数据播放显示时,可以设置在窗口上显示当前帧的起止时间,该接口可以设置时间文本的样式。
        参数:
        timeTextStyle - 时间文本的样式。
      • isDebugMode

        public boolean isDebugMode()
        获取地图调试模式
        返回:
        是否调试模式
      • setDebugMode

        public void setDebugMode(boolean value)
        设置地图调试模式
        参数:
        value - 是否调试模式
      • isMapThreadDrawingEnabled

        public boolean isMapThreadDrawingEnabled()
        返回是否另启线程绘制地图元素,true表示另启线程绘制地图元素,可以提升大数据量地图的绘制性能。
        返回:
        一个布尔值,指示是否另启线程绘制地图元素,true表示另启线程绘制地图元素,可以提升大数据量地图的绘制性能。
      • setMapThreadDrawingEnabled

        public void setMapThreadDrawingEnabled(boolean value)
        设置是否另启线程绘制地图元素,true表示另启线程绘制地图元素,可以提升大数据量地图的绘制性能。
        参数:
        value - 一个布尔值,指示是否另启线程绘制地图元素,true表示另启线程绘制地图元素,可以提升大数据量地图的绘制性能。
      • isMapProfileingEnable

        public static boolean isMapProfileingEnable()
        返回是否开启地图的性能信息收集,在对地图性能分析时可以开启该属性。该属性会有性能损耗,在非性能收集需要时请关闭。默认值为false。
        返回:
        返回是否开启地图的性能信息收集,true表示开启。
      • setMapProfileingEnable

        public static void setMapProfileingEnable(boolean value)
        设置是否开启地图的性能信息收集,在对地图性能分析时可以开启该属性。该属性会有性能损耗,在非性能收集需要时请关闭。
        参数:
        value - 是否开启地图的性能信息收集,true表示开启。
      • getLastProfilingResult

        public String getLastProfilingResult()
        返回地图性能分析的结果。仅在地图绘制完后调用。

        返回地图性能分析的结果。如果Bin目录下的SuperMap.xml中"MapProfilesSetting"项下的IsToFile设置为true,则性能分析的结果字符串将输出到组件Bin目录下的log文件夹,结果为一个xml文件。

        该接口只有在组件Bin目录下的SuperMap.xml中"MapProfilesSetting"项下的IsEnabled属性设置为true时才有效,才有输出性能分析内容,否则输出为空。

        返回:
        返回地图性能分析的结果。
      • setDatasetToBeUpdated

        public static void setDatasetToBeUpdated(Dataset dataset)
      • getMapLabelAvoidWeightInfos

        public LabelAvoidWeightInfos getMapLabelAvoidWeightInfos()
        获取标签避让的权重信息
        返回:
        权重信息列表
      • getExternalXML

        public String getExternalXML()
        获取布局的扩展XML
        返回:
        扩展XML字符串
      • setExternalXML

        public void setExternalXML(String enternalXML)
        设置布局的扩展XML,用于存储用户需要的内容
        参数:
        enternalXML - 扩展XML字符串
        抛出:
        IllegalArgumentException - 非法参数
      • isFullLabel

        public boolean isFullLabel()
      • setFullLabel

        public void setFullLabel(boolean value)
      • setPreLoadWebCache

        public void setPreLoadWebCache(int seconds)
        设置地图显示和出图时预先加载Web缓存图层的时间,单位为秒,默认为6秒。
        参数:
        seconds - 缓存时间
        默认值:
        默认为6秒。
      • isMapOutputFull

        public boolean isMapOutputFull()
      • setMapOutputFull

        public void setMapOutputFull(boolean value)
      • isDrawTextAtLast

        public boolean isDrawTextAtLast()
        获取是否标签图层最后绘制。
        返回:
        是否标签图层最后绘制
        默认值:
        false 标签图层按照其在图层中的顺序从下往上绘制
      • setDrawTextAtLast

        public void setDrawTextAtLast(boolean value)
        设置是否标签图层最后绘制。默认为false,即标签图层按照其在图层中的顺序从下往上绘制。

        如果希望标签图层最后绘制,来避免被其他图层(如点符号、统计符号等压盖),需要将标签图层最后绘制

        参数:
        value - 是否标签图层最后绘制
      • isTextLayerReverse

        public boolean isTextLayerReverse()
        获取标签绘制是否反序

        如果希望越上层的标签图层先绘制来避免被其他图层压盖而导致不显示,需要将标签绘制是否反序设置为true

        返回:
        标签绘制是否反序
      • setTextLayerReverse

        public void setTextLayerReverse(boolean value)
        设置标签绘制是否反序。默认为false,即标签图层按照图层顺序从下往上绘制。

        如果希望越上层的标签图层先绘制来避免被其他图层压盖而导致不显示,需要将标签绘制是否反序设置为true

        参数:
        value - 是否反序
      • measureText

        public Rectangle2D measureText(String text,
                                       TextStyle style)
        计算地图中文本的精确宽高范围。

        使用GeoText.getBounds()方法也可以获得地图中文本的宽高范围,但是,此方法获得的范围精确度不高,并且地图中对于文本风格的设置也会影响文本的实际范围,因此,Map.measureText() 方法可以精确获得在当前地图风格设置和绘制条件下的文本范围。

        因此,Map.measureText() 方法正确执行的关键必须保证地图对象已打开地图,并能正常出图或绘制正确。Map.measureText() 方法返回结果为高精度矩形类型,代表在当前地图环境下,传入的文本内容(text 参数)在指定文本风格条件(style 参数)下,以地图坐标原点为起始点(固定为左上角对齐)占用的地理范围,单位为当前地图单位。

        Map.measureText() 方法将忽略风格中的角度和排版,需要外部自己实现旋转和偏移。

        如:EPSG 4326坐标系的地图使用下面的代码计算,返回结果为Left=0.09515457098993352,Bottom=-4.5364979297035575,Right=7.40361354856762,Top=-1.516302597899596

        参数:
        text - 待计算精确范围的文本。
        style - 文本在指定的风格下计算精确范围,该参数将指定文本的风格。
        返回:
        返回文本高精度矩形范围。
        
          TextStyle style = new TextStyle();
        		style.setSizeFixed(true);
        		style.setFontHeight(10);
        		style.setFontName("微软雅黑");
        		Rectangle2D bounds = map.measureText("test", style);
         

Copyright © 2021–2024 SuperMap. All rights reserved.