Map类参考

#import <Map.h>

所有成员的列表。

公有成员

(id) - init
 构造一个新的地图对象。
(id) - initWithWorkspace:
 构造一个新的地图对象,并将该地图对象关联到指定的工作空间。
(void) - setDynamicProjection:prj:
(void) - setImageSizeWith:Height:
 设置图片的大小。
(Point2D *) - pixelTomap:
 将地图中指定点的像素坐标转换为地图坐标。
(CGPoint) - mapToPixel:
 将地图中指定点的地图坐标转换为像素坐标。
(BOOL) - open:
 打开指定名称的地图。
(BOOL) - addLayersFromMap:withDynamicProjection:
 从指定名称的地图合并图层。
(void) - close
 关闭当前地图。
(void) - zoom:
 将地图放大或缩小指定的比例。
(void) - panOffsetX:offsetY:
 将地图平移指定的距离。
(void) - viewEntire
 全幅显示此地图。
(void) - viewEntire:
(void) - dispose
 释放对象所占用的资源。调用该方法之后,此对象不再可用。
(void) - refresh
 重新绘制当前地图,刷新当前地图窗口。
(void) - refreshEx:Bound:
 重新绘制当前地图,刷新设定比例尺的特定范围的地图。
(NSString *) - toXML
(void) - setEditLayerIndex:
(int) - getEditLayerIndex
(BOOL) - save
(BOOL) - fromXML:
(BOOL) - save:
(BOOL) - saveAs:
(void) - setLayerHierarchic:
(BOOL) - isLayerHierarchic
(void) - setHighPerformSymbolMode:
(BOOL) - isHighPerformSymbolMode

属性

id< MapParameterChangedDelegatedelegate
 地图参数变化时通知委托。
id< MapLoadDelegatemapLoadDelegate
 地图第一次加载完成时通知委托。
NSString * name
 获取或设置当前地图的名称。
Rectangle2Dbounds
 获取当前地图的空间范围。
Rectangle2DuserEditBounds
 获取和设置当前地图的可编辑范围。
NSString * description
 获取或设置当前地图的描述信息。
double angle
 获取或设置当前地图的旋转角度。
double slantAngle
 获取或设置当前地图的倾斜角度。
GeoStylebackgroundStyle
 获取或设置当前地图的背景风格。
Rectangle2DviewBounds
 获取或设置当前地图的可见范围,也称显示范围。
BOOL isViewBoundsLocked
 获取或设置 MapControl 地图控件中是否锁定地图的可视范围。
Rectangle2DlockedViewBounds
 获取或设置 MapControl 地图控件中锁定的地图可视范围。
Point2Dcenter
 获取或设置当前地图的显示范围的中心点。
BOOL isAntialias
 获取或设置一个布尔值指定是否反走样地图。
BOOL isModified
 获取或设置一个布尔值指定当前地图是否被修改了。
BOOL isPaintBackground
 获取或设置一个布尔值指定是否绘制地图背景。
BOOL isFullScreenDrawModel
TrackingLayertrackingLayer
 获取当前地图的跟踪图层。
CGFloat mapAlpha
ScreenLayerscreenLayer
PrjCoordSysprjCoordSys
 获取或设置地图的投影坐标系统。
Layerslayers
 获取当前地图所包含的图层集合对象。
Workspaceworkspace
 获取或设置当前地图所关联的工作空间。
double scale
 获取或设置 当前地图的显示比例尺。
double maxScale
 获取,设置地图的最大比例尺。
double minScale
 获取,设置地图的最小比例尺。
NSInteger imageSizeWidth
 获取图片大小的宽度。
NSInteger imageSizeHeight
 获取图片的高。
Legendlegend
LayerManagerlayerManager
BOOL isVisibleScalesEnabled
NSArray * visibleScales
MapColorMode mapColorMode
BOOL isTextFixedAngle
 是否文本固定角度
BOOL isMarkerFixedAngle
 是否符号固定角度
BOOL isFixedTextOrientation
 是否固定文本朝向
CoordSysTransMethod dynamicPrjTransMethond
CoordSysTransParameterdynamicPrjTransParameter
BOOL IsOverlapDisplay
BOOL IsAllowTextOverlap
 获取/设置文本重叠时是否显示对象
BOOL IsAllowPointOverlap
 获取/设置点重叠时是否显示对象
BOOL IsAllowTextAndPointOverlap
 获取/设置标签和点是否压盖过滤显示
BOOL dynamicProjection
 设置是否允许地图动态投影显示。
BOOL isPOIOptimized

详细描述

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

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

注意:

对于从工作空间获取的 Map,编辑之后,必须保存到工作空间的 Maps 中,否则对于 Map 的编辑不能够保存。

当用户使用该工作空间对象进行编程时,如果将 WorkspaceMapControl 建立了关联,那么在进行对象的关闭时,一定需要注意关闭的顺序,如下: 1. 关闭 Map 对象; 2. 关闭 MapControl 对象; 3. 关闭 Workspace 对象。


成员函数文档

- (BOOL) addLayersFromMap: (NSString *)  name
withDynamicProjection: (BOOL)  bUseIfNeeded 

从指定名称的地图合并图层。

该指定名称为地图所关联的工作空间中的地图集合对象中的一个地图的名称,注意与地图的显示名称相区别。

参数:
name 地图名称。
bUseIfNeeded 需要时是否打开地图动态投影。
返回:
成功则返回 true,否则返回 false。
- (void) close  

关闭当前地图。

- (void) dispose  

释放对象所占用的资源。调用该方法之后,此对象不再可用。

- (BOOL) fromXML: (NSString *)  strXML  
- (int) getEditLayerIndex  

获取可编辑图层的索引。

在嵌入式设备上,地图只能有一个可编辑图层,此处设置的是可编辑图层在地图的所有图层中的索引。

- (id) init  

构造一个新的地图对象。

- (id) initWithWorkspace: (Workspace *)  workspace  

构造一个新的地图对象,并将该地图对象关联到指定的工作空间。

参数:
workspace 指定的工作空间。
- (BOOL) isHighPerformSymbolMode  

获取当前是否是高性能符号渲染模式

返回:
是否为高性能符号渲染模式,true表示是高性能符号渲染模式,false表示不是
- (BOOL) isLayerHierarchic  

获取当前是否是分层绘制模式

返回:
是否是分层绘制, true表示为分层绘制,false反之
- (CGPoint) mapToPixel: (Point2D *)  point2D  

将地图中指定点的地图坐标转换为像素坐标。

这个方法必须在设置 setImageSize() 方法之后才能正常工作。

参数:
point2D 要转换坐标的指定点。
返回:
指定点的像素坐标。
- (BOOL) open: (NSString *)  name  

打开指定名称的地图。

该指定名称为地图所关联的工作空间中的地图集合对象中的一个地图的名称,注意与地图的显示名称相区别。

参数:
name 地图名称。
返回:
打开成功则返回 true,否则返回 false。
- (void) panOffsetX: (double)  offsetX
offsetY: (double)  offsetY 

将地图平移指定的距离。

参数:
offsetX X 方向上的移动距离,单位为坐标单位。
offsetY Y 方向上的移动距离,单位为坐标单位。
- (Point2D*) pixelTomap: (CGPoint)  point  

将地图中指定点的像素坐标转换为地图坐标。

这个方法必须在设置 setImageSize() 方法之后才能正常工作。

参数:
point 要转换坐标的指定点。
返回:
指定点的地图坐标。
- (void) refresh  

重新绘制当前地图,刷新当前地图窗口。

- (void) refreshEx: (double)  dScale
Bound: (Rectangle2D *)  bound 

重新绘制当前地图,刷新设定比例尺的特定范围的地图。

参数:
dScale 刷新的地图比例尺。
bound 刷新的地图范围。
- (BOOL) save  

保存当前地图到工作空间

返回:
返回boolean类型,保存成功返回true;否则返回false.

1.若当前地图已经关闭,保存失败; 2.若当前地图没有绑定的工作空间,保存失败;

异常:
Exception 
- (BOOL) save: (NSString *)  mapName  

以指定名称保存当前地图,但不能与工作空间中现有地图重名

参数:
mapName 
返回:
异常:
Exception 
- (BOOL) saveAs: (NSString *)  mapName  

将当前地图另存为指定名称的地图

参数:
mapName 地图名称,不能为null或空串("").
isOverWrite 重名时是否覆盖,如果为false,地图重名时将不会保存地图。
返回:
返回boolean类型,保存成功返回true;否则返回false.

1.若指定的地图名称为null或为空串(""),保存失败; 2.若当前地图已经关闭,保存失败; 3.若当前地图没有绑定的工作空间,保存失败;

- (void) setDynamicProjection: (BOOL)  bDynamic
prj: (PrjCoordSys *)  value 

设置投影坐标系统和是否动态投影

参数:
value 投影坐标系
bDynamic 地图是否动态投影 PrjCoordSys
- (void) setEditLayerIndex: (int)  index  

设置地图可编辑图层的索引。

在嵌入式设备上,地图只能有一个可编辑图层,此处设置的是可编辑图层在地图的所有图层中的索引。

参数:
index 可编辑图层的索引。
- (void) setHighPerformSymbolMode: (BOOL)  isHighPerformSymbolMode  

设置高性能符号渲染模式 根据对象数量和比例尺对符号渲染进行过滤,需要在添加或打开地图前调用

参数:
isHighPerformSymbolMode 是否为高性能符号渲染模式,true表示是高性能符号渲染模式,false表示不是
- (void) setImageSizeWith: (NSInteger)  width
Height: (2_0) 
(8_0)  NS_DEPRECATED_IOS 

设置图片的大小。

参数:
width 图片的宽。
height 图片的高。
- (void) setLayerHierarchic: (BOOL)  isLayerHierarchic  

设置是否开启地图分层绘制模式 分层绘制:表示将地图中山歌图层与矢量图层分离独立绘制,即栅格并行绘制,有效解决大数据量、网络地图响应慢时的白图现象

参数:
isLayerHierarchic 是否设置分层绘制, true表示设置为分层绘制,false反之
- (NSString*) toXML  

返回此地图对象的 XML 字符串形式的描述。

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

返回:
地图的 XML 形式的描述。
- (void) viewEntire  

全幅显示此地图。

- (void) viewEntire: (CGRect)  rect  
- (void) zoom: (double)  ratio  

将地图放大或缩小指定的比例。

缩放之后地图的比例尺=原比例尺 *ratio,其中 ratio 必须为正数,当 ratio 为大于1时,地图被放大;当 ratio 小于1时,地图被缩小。

参数:
ratio 缩放地图比例,此值不可以为负。

属性文档

- (double) angle [read, write, assign]

获取或设置当前地图的旋转角度。

单位为度,精度到 0.1 度。逆时针方向为正方向,如果用户输入负值,地图则以顺时针方向旋转。

返回:
当前地图的旋转角度。
- (GeoStyle*) backgroundStyle [read, write, assign]

获取或设置当前地图的背景风格。

返回:
当前地图的背景风格。
- (Rectangle2D*) bounds [read, assign]

获取当前地图的空间范围。

地图的空间范围是其所显示的各数据集的范围的最小外接矩形,即包含各数据集范围的最小的矩形。当地图显示的数据集增加或删除时,其空间范围也会相应发生变化。

返回:
当前地图的空间范围。
- (Point2D*) center [read, write, assign]

获取或设置当前地图的显示范围的中心点。

返回:
当前地图的显示范围的中心点。
- (id<MapParameterChangedDelegate>) delegate [read, write, assign]

地图参数变化时通知委托。

- (NSString*) description [read, write, assign]

获取或设置当前地图的描述信息。

返回:
当前地图的描述信息。
- (CoordSysTransMethod) dynamicPrjTransMethond [read, write, assign]

设置,获取地图动态投影时所使用的投影算法,在不同椭球体时需要设置。默认值为:MTH_GEOCENTRIC_TRANSLATION

- (CoordSysTransParameter*) dynamicPrjTransParameter [read, write, assign]

设置,获取地图动态投影时所使用的参数,默认7个参数全为0

- (BOOL) dynamicProjection [read, write, assign]

设置是否允许地图动态投影显示。

地图动态投影显示是指如果当前地图窗口中地图的投影信息与数据源的投影信息不同,利用地图动态投影显示可以将当前地图的投影信息转换为数据源的投影信息。

参数:
value 一个布尔值,用于指定是否允许地图动态投影显示。
- (NSInteger) imageSizeHeight [read, assign]

获取图片的高。

返回:
图片的高。
- (NSInteger) imageSizeWidth [read, assign]

获取图片大小的宽度。

返回:
图片大小的宽度。
- (BOOL) IsAllowPointOverlap [read, write, assign]

获取/设置点重叠时是否显示对象

- (BOOL) IsAllowTextAndPointOverlap [read, write, assign]

获取/设置标签和点是否压盖过滤显示

- (BOOL) IsAllowTextOverlap [read, write, assign]

获取/设置文本重叠时是否显示对象

- (BOOL) isAntialias [read, write, assign]

获取或设置一个布尔值指定是否反走样地图。

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

返回:
用一个布尔值指定是否反走样地图。
- (BOOL) isFixedTextOrientation [read, write, assign]

是否固定文本朝向

- (BOOL) isFullScreenDrawModel [read, write, assign]

获取是否使用全屏绘制模式

- (BOOL) isMarkerFixedAngle [read, write, assign]

是否符号固定角度

- (BOOL) isModified [read, write, assign]

获取或设置一个布尔值指定当前地图是否被修改了。

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

返回:
一个布尔值,用于指定当前地图是否被修改了。
- (BOOL) IsOverlapDisplay [read, write, assign]

压盖设置 是否显示压盖对象(用于关闭/开启文字和点图层的自动避让)

- (BOOL) isPaintBackground [read, write, assign]

获取或设置一个布尔值指定是否绘制地图背景。

返回:
一个布尔值指定是否绘制地图背景。
- (BOOL) isPOIOptimized [read, write, assign]
- (BOOL) isTextFixedAngle [read, write, assign]

是否文本固定角度

- (BOOL) isViewBoundsLocked [read, write, assign]

获取或设置 MapControl 地图控件中是否锁定地图的可视范围。

返回:
一个布尔值,用于指定此地图控件的可视范围是否锁定。
- (BOOL) isVisibleScalesEnabled [read, write, assign]

设置,获取 使用固定比例尺来显示地图

返回:
返回是否使用固定比例尺来显示地图
- (LayerManager*) layerManager [read, assign]
- (Layers*) layers [read, assign]

获取当前地图所包含的图层集合对象。

地图的图层集合对象管理地图中的所有图层。

返回:
当前地图所包含的图层集合对象。
- (Legend*) legend [read, assign]
- (Rectangle2D*) lockedViewBounds [read, write, assign]

获取或设置 MapControl 地图控件中锁定的地图可视范围。

当地图控件的可视范围被锁定后,则地图控件只显示指定的可视范围内的地图,其余的地图内容不显示。

返回:
地图控件锁定的可视范围。
- (CGFloat) mapAlpha [read, write, assign]
- (MapColorMode) mapColorMode [read, write, assign]

地图颜色模式

- (id<MapLoadDelegate>) mapLoadDelegate [read, write, assign]

地图第一次加载完成时通知委托。

- (double) maxScale [read, write, assign]

获取,设置地图的最大比例尺。

返回:
地图的最大比例尺。
- (double) minScale [read, write, assign]

获取,设置地图的最小比例尺。

默认值为 0,表示地图按照默认值可缩放到无穷远或无穷近。

返回:
返回地图的最小比例尺。
- (NSString*) name [read, assign]

获取或设置当前地图的名称。

返回:
当前地图的名称。
- (PrjCoordSys*) prjCoordSys [read, write, assign]

获取或设置地图的投影坐标系统。

投影坐标系类请参见 <PrjCoordSys>。

返回:
地图的投影坐标系统。
- (double) scale [read, write, assign]

获取或设置 当前地图的显示比例尺。

返回:
当前地图的显示比例尺。
- (ScreenLayer*) screenLayer [read, assign]

屏幕图层

返回:
ScreenLayer
- (double) slantAngle [read, write, assign]

获取或设置当前地图的倾斜角度。

单位为度,精度到 0.1 度。范围0~90度。

返回:
当前地图的倾斜角度。
- (TrackingLayer*) trackingLayer [read, assign]

获取当前地图的跟踪图层。

跟踪图层是覆盖在地图的其他图层之上的一个空白的透明的图层,详细信息请参见 <TrackingLayer> 类。

返回:
当前地图的跟踪图层。
- (Rectangle2D*) userEditBounds [read, write, assign]

获取和设置当前地图的可编辑范围。

返回:
当前地图的可编辑范围(默认为0)。
- (Rectangle2D*) viewBounds [read, write, assign]

获取或设置当前地图的可见范围,也称显示范围。

当前地图的可见范围除了可以通过 setViewBounds() 方法来进行设置,还可以通过设置显示范围的中心点(Center)和显示比例尺(Scale)的方式来进行设置。

返回:
当前地图的可见范围。
- (NSArray*) visibleScales [read, write, assign]

获取,设置 固定比例尺数组,即固定比例尺显示时,可显示的比例尺

返回:
返回取固定比例尺数组
- (Workspace*) workspace [read, write, assign]

获取或设置当前地图所关联的工作空间。

地图是对其所关联的工作空间中的数据的显示。

返回:
当前地图所关联的工作空间。

该类的文档由以下文件生成: