| 包 | com.supermap.web.mapping |
| 类 | public class ElementsLayer |
| 继承 | ElementsLayer Layer mx.core.UIComponent |
该类专用于承载显示 Element 类型的可视组件元素。可以添加 Adobe Flex 提供的所有可视组件,比如 Button、Rectangle;可以添加图片、音频和视频;可以添加自定义的任意 Flex 元素。
默认 MXML 属性elements
另请参见
| 属性 | 定义方 | ||
|---|---|---|---|
| bounds : Rectangle2D
[Override] 当前图层的地理范围,若当前图层为 Map 的第一个图层,且 Map 的 ViewBounds 为 null,则将当前图层的 bounds 作为 Map 的 ViewBounds。一般情况下该属性默认值为(0,0,0,0)。若当前图层为 WMTS 图层(TiledWMTSLayer),则 bounds 的默认值参考 WMTS 标准而定...
|
ElementsLayer | ||
![]() |
CRS : CoordinateReferenceSystem
获取或设置当前图层的坐标参考系( CoordinateReferenceSystem )。默认值为 null。设置 CoordinateReferenceSystem.wkid 属性后,图层将被动态投影至 wkid 所代表的投影坐标系下,若 wkid 小于等于 0 则不进行动态投影...
|
Layer | |
| elements : ArrayCollection
获取或设置元素图层 ElementsLayer 上的所有元素 Element。
|
ElementsLayer | ||
| graduatedCount : int
获取或设置加载元素时,划分多少次来逐级显示元素,此属性只在通过 elements 属性来加载要素时生效...
|
ElementsLayer | ||
| isAutoAvoidance : Boolean
设置ElementsLayer上的元素是否自动避让。(SuperMap iServer 7.0及以上版本支持)
|
ElementsLayer | ||
| isAvoidByPixel : Boolean
获取或设置是否使用像素单位来进行避让,默认值为false。
|
ElementsLayer | ||
| isElementsZoomWithMap : Boolean
指定元素地理范围是否随地图一起缩放,若该属性值为 true,则表示此元素的地图范围随地图一起缩放。
|
ElementsLayer | ||
![]() |
isInResolutionRange : Boolean
[read-only] 判断与当前图层关联的 Map 的分辨率是否在当前图层的最大、最小分辨率范围内。true 表示在最大、最小范围内。
|
Layer | |
| isPanEnableOnElement : Boolean
指定鼠标焦点在元素(Element)上时是否可以进行地图平移操作。默认值为:false,表示鼠标焦点在元素上时不可进行地图平移操作,仅当鼠标焦点落在元素以外的地图范围内方可平移地图。
|
ElementsLayer | ||
![]() |
isScaleCentric : Boolean
[read-only] 指示该图层是否有 DPI 值,ture 表示当前图层已根据从 SuperMap iServer 服务端获取的参数计算出 DPI;false 反之。WMS、WMTS 等图层该属性值为 false。DynamicRESTLayer、TiledDynamicRESTLayer 等专门关联 SuperMap iServer 服务的图层该属性为 true。
|
Layer | |
| isViewportClip : Boolean
是否对 ElementsLayer 上不在可视范围内的元素 Element 进行裁剪,即对不在可视范围内的元素不进行更新和显示.
|
ElementsLayer | ||
![]() |
loaded : Boolean
[read-only] 若当前图层已加载完闭则返回 true,否则返回 false。
|
Layer | |
![]() |
maxVisibleResolution : Number
当前图层的最大显示分辨率。即当图层缩放至该分辨率时就不能再放大。
|
Layer | |
![]() |
metadata : Object
获取或设置当前图层信息,包括图层标题、描述信息、图层所在地图控件名称。
|
Layer | |
![]() |
minVisibleResolution : Number
当前图层的最小显示分辨率。即当图层缩放至该分辨率时就不能再缩小。
|
Layer | |
| numElements : int
[read-only] 获取或设置元素图层 ElementsLayer 上的元素个数。
|
ElementsLayer | ||
| referenceHeight : Number
获取或设置ElementsLayer上元素自动避让的参考对象高度,默认值为0。
|
ElementsLayer | ||
| referenceR : Number
获取或设置ElementsLayer上元素自动避让的初始偏移距离,默认为0.7 * referenceWidth。
|
ElementsLayer | ||
| referenceWidth : Number
获取或设置ElementsLayer上元素自动避让的参考对象宽度,默认值为0。
|
ElementsLayer | ||
![]() |
resolution : Number
[read-only] 获取当前图层的显示分辨率。
|
Layer | |
![]() |
url : String
图层所在的服务地址。
|
Layer | |
![]() |
visible : Boolean
[Override] 获取或设置当前图层是否可见。
|
Layer | |
| 方法 | 定义方 | ||
|---|---|---|---|
|
初始化 ElementsLayer 类的新实例。
|
ElementsLayer | ||
|
addComponent(component:DisplayObject, bBox:Rectangle2D, offset:Point = null):String
添加可视组件,并返回用于唯一标识该对象的 id。.
|
ElementsLayer | ||
|
addComponentAt(component:DisplayObject, index:int, bBox:Rectangle2D, offset:Point = null):String
将可视组件添加至指定索引位置处,并返回用于唯一标识该对象的 id.
|
ElementsLayer | ||
|
addElement(element:Element):String
添加元素,并返回用于唯一标识元素的 id。
|
ElementsLayer | ||
|
addElementAt(element:Element, index:int):String
将元素添加至指定索引位置处,并返回用于唯一标识元素的 id
|
ElementsLayer | ||
|
clear():void
清除元素图层。
|
ElementsLayer | ||
|
getElementAt(index:int):Element
获取指定位置处的元素。
|
ElementsLayer | ||
|
getElementByID(id:String):Element
通过元素 ID 获取元素。
|
ElementsLayer | ||
|
getElementIndex(element:Element):int
获取指定元素在 elements 中的索引位置。
|
ElementsLayer | ||
|
moveElement(element:Element, index:int):void
将指定元素移动至指定的索引位置。
|
ElementsLayer | ||
|
moveElementAt(fromIndex:int, toIndex:int):void
将指定位置处的元素移动至另一位置 。
|
ElementsLayer | ||
|
将指定的元素移动至 ElementsLayer 的顶层。即 elements 的尾部。
|
ElementsLayer | ||
![]() |
refresh():void
刷新图层,即调用 Layer.invalidateDisplayList() 方法(详情请参见 Flex SDK UIComponent.invalidateDisplayList() 方法),更新 Layer 的显示列表。对于 GraphicsLayer 调用该方法会对 GraphicsLayer 上所有显示对象 Graphic 进行重绘。
|
Layer | |
|
移除元素,并返回该元素。
|
ElementsLayer | ||
|
removeElementAt(index:int):Element
移除指定位置处的元素,并返回该元素。
|
ElementsLayer | ||
| 方法 | 定义方 | ||
|---|---|---|---|
![]() |
addedHandler(event:Event):void
处理 Event.ADDED 事件的侦听器函数。
|
Layer | |
|
addMapListeners():void
[Override] 为当前图层添加事件侦听器,以使侦听器能够接收 ZoomEvent、 ViewBoundsEvent 事件的触发通知。
|
ElementsLayer | ||
|
draw():void
[Override] 渲染出图,注意:子类必须重写该方法来实现渲染出图。
|
ElementsLayer | ||
|
enterFrameHandler(event:Event):void
Event.ENTER_FRAME 事件的侦听函数。
|
ElementsLayer | ||
![]() |
hideHandler(event:FlexEvent):void
处理 FlexEvent.HIDE 事件的侦听器函数。
|
Layer | |
![]() |
invalidateLayer():void
通过子类调用以更新图层。
|
Layer | |
![]() |
removeAllChildren():void
删除 Layer 上的所有对象。
|
Layer | |
![]() |
removedHandler(event:Event):void
处理 Event.REMOVED 事件的侦听器函数。
|
Layer | |
|
removeMapListeners():void
[Override] 移除通过 addMapListeners 添加的事件侦听器。
|
ElementsLayer | ||
![]() |
setLoaded(value:Boolean):void
设置图层是否加载完闭,会触发 LayerEvent.LOAD 事件。true 表示当前图层已加载完毕。注意:任何继承 Layer 的子类都必须在 Layer 初始化完成之后调用该接口设置对应的图层是否加载完毕。
|
Layer | |
|
showHandler(event:FlexEvent):void
[Override] 处理 FlexEvent.SHOW 事件的侦听器函数。
|
ElementsLayer | ||
![]() |
viewBoundsChangedHandler(event:ViewBoundsEvent):void
处理 viewBoundsChanged 事件的侦听器函数。
|
Layer | |
|
zoomEndHandler(event:ZoomEvent):void
[Override] 处理 zoomEnd 事件的侦听器函数。
|
ElementsLayer | ||
|
zoomStartHandler(event:ZoomEvent):void
[Override] 处理 zoomStart 事件的侦听器函数。
|
ElementsLayer | ||
![]() |
zoomUpdateHandler(event:ZoomEvent):void
处理 zoomUpdate 事件的侦听器函数。
|
Layer | |
| 事件 | Summary | 定义方 | ||
|---|---|---|---|---|
| 当在 FeatureLayer 中添加矢量要素时触发该事件。 | ElementsLayer | |||
| 当在 FeatureLayer 中删除矢量要素时触发该事件。 | ElementsLayer | |||
| 当移除在 FeatureLayer 中所有矢量要素时触发该事件。 | ElementsLayer | |||
| 当移除在 FeatureLayer 中所有矢量要素时触发该事件。 | ElementsLayer | |||
![]() |
当 Layer 的 IsInResolutionRange 属性发生变化时触发该事件。 | Layer | ||
![]() |
当图层初始化完成时触发该事件。 | Layer | ||
![]() |
当载入图层出错时触发该事件。 | Layer | ||
![]() |
当图层最大显示分辨率改变时触发该事件。 | Layer | ||
![]() |
当图层最小显示分辨率改变时触发该事件。 | Layer | ||
![]() |
当完成更新图层时触发该事件。 | Layer | ||
![]() |
当更新图层开始时触发该事件。 | Layer | ||
![]() |
当图层的 visible 属性发生改变时触发该事件。 | Layer | ||
| bounds | 属性 |
bounds:Rectangle2D[Override]
当前图层的地理范围,若当前图层为 Map 的第一个图层,且 Map 的 ViewBounds 为 null,则将当前图层的 bounds 作为 Map 的 ViewBounds。一般情况下该属性默认值为(0,0,0,0)。若当前图层为 WMTS 图层(TiledWMTSLayer),则 bounds 的默认值参考 WMTS 标准而定...
有关 TiledWMTSLayer::bounds 属性的默认值如下表所示:

其中 GlobalCRS84Scale、GlobalCRS84Pixel、GlobalCRS84Qud、GoogleMapsCompatible 为 OGC WMTS 标准中的四个比例尺集类型;custom 为用户自定义 WMTS,如 SuperMap iServer Java 6R 默认提供的 wmts-china 服务实例,即为一种自定义的 WMTS 服务,其数据组织方式与 OGC WMTS 标准相同,不同之处在于其比例尺集遵循的是国家测绘局发布的一组比例尺;当然,用户可根据实际需求,自定义比例尺数组创建 custom 类型的 WMTS 服务。
TiledWMTSLayer 是一种缓存图层,这意味着组成地图的各个瓦片是事先缓存好的。如下图所示,在某一级别下地图被缓存为6行6列,其中红色边框代表切图范围(-180,-90,180,90),绿色边框代表地图的实际范围(-60,-60,120,30),在此 TiledWMTSLayer::bounds 属性所指的是切图范围,因此在使用 TiledWMTSLayer 时,首先确保所访问的WMTS图层的切图范围是否与默认值相同,若不同则该属性为必设。

如何获取 WMTS 服务的切图范围:
1)SuperMap iServer Java 6R 有关切图范围可在[SuperMap iServer Java 6R服务产品包]webappsiserverWEB-INFconfig目录下的 service.xml 文件中 WMTS 服务接口中获取或配置,如下图红框所示:

若WMTS服务接口中没有该信息,则默认使用地图的实际范围;详情可参见 SuperMap iServer Java 6R 帮助文档。
2)如果使用其它服务产品,请参考其帮助文档。
public function get bounds():Rectangle2D public function set bounds(value:Rectangle2D):void| elements | 属性 |
elements:ArrayCollection
获取或设置元素图层 ElementsLayer 上的所有元素 Element。
public function get elements():ArrayCollection public function set elements(value:ArrayCollection):void另请参见
| graduatedCount | 属性 |
graduatedCount:int
获取或设置加载元素时,划分多少次来逐级显示元素,此属性只在通过 elements 属性来加载要素时生效...
对于使用 addElement 或 addElementAt 等方法加载一个要素时不生效。该属性默认值为 1 ,表示一次性全部加载显示。
public function get graduatedCount():int public function set graduatedCount(value:int):void另请参见
| isAutoAvoidance | 属性 |
isAutoAvoidance:Boolean
设置ElementsLayer上的元素是否自动避让。(SuperMap iServer 7.0及以上版本支持)
public function get isAutoAvoidance():Boolean public function set isAutoAvoidance(value:Boolean):void| isAvoidByPixel | 属性 |
isAvoidByPixel:Boolean
获取或设置是否使用像素单位来进行避让,默认值为false。
public function get isAvoidByPixel():Boolean public function set isAvoidByPixel(value:Boolean):void| isElementsZoomWithMap | 属性 |
isElementsZoomWithMap:Boolean
指定元素地理范围是否随地图一起缩放,若该属性值为 true,则表示此元素的地图范围随地图一起缩放。
默认值为: false.
public function get isElementsZoomWithMap():Boolean public function set isElementsZoomWithMap(value:Boolean):void| isPanEnableOnElement | 属性 |
isPanEnableOnElement:Boolean
指定鼠标焦点在元素(Element)上时是否可以进行地图平移操作。默认值为:false,表示鼠标焦点在元素上时不可进行地图平移操作,仅当鼠标焦点落在元素以外的地图范围内方可平移地图。
public function get isPanEnableOnElement():Boolean public function set isPanEnableOnElement(value:Boolean):void| isViewportClip | 属性 |
isViewportClip:Boolean
是否对 ElementsLayer 上不在可视范围内的元素 Element 进行裁剪,即对不在可视范围内的元素不进行更新和显示.
当该属性值为 true 时,表示对不在可视范围内的元素 Element 进行裁剪。当地图可视范围发生变化时,则实时更新可视范围内被裁剪掉的元素 Element。默认值为 true。
默认值为: true.
public function get isViewportClip():Boolean public function set isViewportClip(value:Boolean):void| numElements | 属性 |
numElements:int [read-only]
获取或设置元素图层 ElementsLayer 上的元素个数。
public function get numElements():int| referenceHeight | 属性 |
referenceHeight:Number
获取或设置ElementsLayer上元素自动避让的参考对象高度,默认值为0。
public function get referenceHeight():Number public function set referenceHeight(value:Number):void| referenceR | 属性 |
referenceR:Number
获取或设置ElementsLayer上元素自动避让的初始偏移距离,默认为0.7 * referenceWidth。
public function get referenceR():Number public function set referenceR(value:Number):void| referenceWidth | 属性 |
referenceWidth:Number
获取或设置ElementsLayer上元素自动避让的参考对象宽度,默认值为0。
public function get referenceWidth():Number public function set referenceWidth(value:Number):void| ElementsLayer | () | 构造函数 |
public function ElementsLayer()
初始化 ElementsLayer 类的新实例。
| addComponent | () | 方法 |
public function addComponent(component:DisplayObject, bBox:Rectangle2D, offset:Point = null):String
添加可视组件,并返回用于唯一标识该对象的 id。.
该方法的处理逻辑为:首先通过 component、bBox 参数封装一个 Element 对象,然后将此 Element 添加至元素图层中。
参数
component:DisplayObject — DisplayObject 组件。 |
|
bBox:Rectangle2D — 组件在元素图层中的显示区域。 |
|
offset:Point (default = null) — 组件在元素图层中绘制时的像素偏移量Point(x,y),x(y)为正,代表向下(右)偏移x(y)像素,为负代表向上(左)偏移x(y)像素,为0代表不偏移。默认为不偏移。 |
String — id。 |
| addComponentAt | () | 方法 |
public function addComponentAt(component:DisplayObject, index:int, bBox:Rectangle2D, offset:Point = null):String
将可视组件添加至指定索引位置处,并返回用于唯一标识该对象的 id.
该方法的处理逻辑为:首先通过 component、bBox 参数封装一个 Element 对象,然后将此 Element 添加至元素图层中。
参数
component:DisplayObject — DisplayObject 组件。 |
|
index:int — 索引位置。 |
|
bBox:Rectangle2D — 组件在元素图层中的显示区域。 |
|
offset:Point (default = null) — 组件在元素图层中绘制时的像素偏移量Point(x,y),x(y)为正,代表向下(右)偏移x(y)像素,为负代表向上(左)偏移x(y)像素,为0代表不偏移。默认为不偏移。 |
String — id。 |
另请参见
| addElement | () | 方法 |
public function addElement(element:Element):String
添加元素,并返回用于唯一标识元素的 id。
参数
element:Element — 被添加的元素。 |
String — id。 |
| addElementAt | () | 方法 |
public function addElementAt(element:Element, index:int):String
将元素添加至指定索引位置处,并返回用于唯一标识元素的 id
参数
element:Element — 被添加的元素。 |
|
index:int — 索引位置。 |
String — id。 |
| addMapListeners | () | 方法 |
override protected function addMapListeners():void
为当前图层添加事件侦听器,以使侦听器能够接收 ZoomEvent、 ViewBoundsEvent 事件的触发通知。
| clear | () | 方法 |
public function clear():void
清除元素图层。
| draw | () | 方法 |
override protected function draw():void
渲染出图,注意:子类必须重写该方法来实现渲染出图。
| enterFrameHandler | () | 方法 |
protected function enterFrameHandler(event:Event):void
Event.ENTER_FRAME 事件的侦听函数。
参数
event:Event |
| getElementAt | () | 方法 |
public function getElementAt(index:int):Element
获取指定位置处的元素。
参数
index:int — 要获取的元素在 elements 中的索引位置。 |
Element — 要获取的元素。 |
| getElementByID | () | 方法 |
public function getElementByID(id:String):Element
通过元素 ID 获取元素。
参数
id:String — 元素 ID。 |
Element — 返回与 ID 对应的元素。 |
| getElementIndex | () | 方法 |
public function getElementIndex(element:Element):int
获取指定元素在 elements 中的索引位置。
参数
element:Element — 指定的元素。 |
int — 指定元素在 elements 中的索引位置。 |
另请参见
| moveElement | () | 方法 |
public function moveElement(element:Element, index:int):void
将指定元素移动至指定的索引位置。
参数
element:Element — 被移动的元素。 |
|
index:int — 指定的索引位置,即被移动元素在属性 elements 中的索引位置。 |
另请参见
| moveElementAt | () | 方法 |
public function moveElementAt(fromIndex:int, toIndex:int):void
将指定位置处的元素移动至另一位置 。
参数
fromIndex:int — 被移动元素所处的位置。 |
|
toIndex:int — 移动的目标位置。 |
| moveToTop | () | 方法 |
public function moveToTop(element:Element):void
将指定的元素移动至 ElementsLayer 的顶层。即 elements 的尾部。
参数
element:Element — 被移动的元素。 |
另请参见
| removeElement | () | 方法 |
public function removeElement(element:Element):Element
移除元素,并返回该元素。
参数
element:Element — 被移除的、DisplayObject 类型的元素。 |
Element — 被移除的元素。 |
| removeElementAt | () | 方法 |
public function removeElementAt(index:int):Element
移除指定位置处的元素,并返回该元素。
参数
index:int — 被移除元素在 elements 中的索引位置。 |
Element — 被移除的元素。 |
另请参见
| removeMapListeners | () | 方法 |
override protected function removeMapListeners():void
移除通过 addMapListeners 添加的事件侦听器。
| showHandler | () | 方法 |
override protected function showHandler(event:FlexEvent):void
处理 FlexEvent.SHOW 事件的侦听器函数。
参数
event:FlexEvent |
| zoomEndHandler | () | 方法 |
override protected function zoomEndHandler(event:ZoomEvent):void
处理 zoomEnd 事件的侦听器函数。
参数
event:ZoomEvent |
| zoomStartHandler | () | 方法 |
override protected function zoomStartHandler(event:ZoomEvent):void
处理 zoomStart 事件的侦听器函数。
参数
event:ZoomEvent — ZoomEvent 事件类对象。 |
| elementAdd | 事件 |
| elementRemove | 事件 |
| elementsChange | 事件 |
| featureRemoveAll | 事件 |