包 | com.supermap.web.mapping |
类 | public class ElementsLayer |
继承 | ElementsLayer ![]() ![]() |
该类专用于承载显示 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 | 事件 |