com.supermap.web.mapping
public class Layer
继承 Layer Inheritance mx.core.UIComponent
子类 ElementsLayer, FeaturesLayer, GraphicsLayer, ImageLayer

图层类.

所有图层的基类。



公共属性
  属性 定义方
    bounds : Rectangle2D
当前图层的地理范围,若当前图层为 Map 的第一个图层,且 Map 的 ViewBounds 为 null,则将当前图层的 bounds 作为 Map 的 ViewBounds。一般情况下该属性默认值为(0,0,0,0)。若当前图层为 WMTS 图层(TiledWMTSLayer),则 bounds 的默认值参考 WMTS 标准而定...
Layer
    CRS : CoordinateReferenceSystem
获取或设置当前图层的坐标参考系( CoordinateReferenceSystem )。默认值为 null。设置 CoordinateReferenceSystem.wkid 属性后,图层将被动态投影至 wkid 所代表的投影坐标系下,若 wkid 小于等于 0 则不进行动态投影...
Layer
    isInResolutionRange : Boolean
[read-only] 判断与当前图层关联的 Map 的分辨率是否在当前图层的最大、最小分辨率范围内。true 表示在最大、最小范围内。
Layer
    isScaleCentric : Boolean
[read-only] 指示该图层是否有 DPI 值,ture 表示当前图层已根据从 SuperMap iServer 服务端获取的参数计算出 DPI;false 反之。WMS、WMTS 等图层该属性值为 false。DynamicRESTLayer、TiledDynamicRESTLayer 等专门关联 SuperMap iServer 服务的图层该属性为 true。
Layer
    loaded : Boolean
[read-only] 若当前图层已加载完闭则返回 true,否则返回 false。
Layer
    maxVisibleResolution : Number
当前图层的最大显示分辨率。即当图层缩放至该分辨率时就不能再放大。
Layer
    metadata : Object
获取或设置当前图层信息,包括图层标题、描述信息、图层所在地图控件名称。
Layer
    minVisibleResolution : Number
当前图层的最小显示分辨率。即当图层缩放至该分辨率时就不能再缩小。
Layer
    resolution : Number
[read-only] 获取当前图层的显示分辨率。
Layer
    url : String
图层所在的服务地址。
Layer
    visible : Boolean
[Override] 获取或设置当前图层是否可见。
Layer
受保护的属性
  属性 定义方
    dpi : Number
获取当前图层的扫描精度,即单位面积内的像素的个数...
Layer
公共方法
  方法 定义方
   
初始化 Layer 类的新实例。
Layer
   
refresh():void
刷新图层,即调用 Layer.invalidateDisplayList() 方法(详情请参见 Flex SDK UIComponent.invalidateDisplayList() 方法),更新 Layer 的显示列表。对于 GraphicsLayer 调用该方法会对 GraphicsLayer 上所有显示对象 Graphic 进行重绘。
Layer
受保护的方法
  方法 定义方
   
addedHandler(event:Event):void
处理 Event.ADDED 事件的侦听器函数。
Layer
   
为当前图层添加事件侦听器,以使侦听器能够接收 ZoomEvent、 ViewBoundsEvent 事件的触发通知。
Layer
   
draw():void
渲染出图,注意:子类必须重写该方法来实现渲染出图。
Layer
   
hideHandler(event:FlexEvent):void
处理 FlexEvent.HIDE 事件的侦听器函数。
Layer
   
通过子类调用以更新图层。
Layer
   
删除 Layer 上的所有对象。
Layer
   
removedHandler(event:Event):void
处理 Event.REMOVED 事件的侦听器函数。
Layer
   
移除通过 addMapListeners 添加的事件侦听器。
Layer
   
setLoaded(value:Boolean):void
设置图层是否加载完闭,会触发 LayerEvent.LOAD 事件。true 表示当前图层已加载完毕。注意:任何继承 Layer 的子类都必须在 Layer 初始化完成之后调用该接口设置对应的图层是否加载完毕。
Layer
   
showHandler(event:FlexEvent):void
处理 FlexEvent.SHOW 事件的侦听器函数。
Layer
   
处理 viewBoundsChanged 事件的侦听器函数。
Layer
   
处理 zoomEnd 事件的侦听器函数。
Layer
   
处理 zoomStart 事件的侦听器函数。
Layer
   
处理 zoomUpdate 事件的侦听器函数。
Layer
事件
  事件 Summary 定义方
    当 Layer 的 IsInResolutionRange 属性发生变化时触发该事件。 Layer
    当图层初始化完成时触发该事件。 Layer
    当载入图层出错时触发该事件。 Layer
    当图层最大显示分辨率改变时触发该事件。 Layer
    当图层最小显示分辨率改变时触发该事件。 Layer
    当完成更新图层时触发该事件。 Layer
    当更新图层开始时触发该事件。 Layer
    当图层的 visible 属性发生改变时触发该事件。 Layer
属性详细信息
bounds 属性
bounds:Rectangle2D

当前图层的地理范围,若当前图层为 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)如果使用其它服务产品,请参考其帮助文档。


Implementation
    public function get bounds():Rectangle2D
    public function set bounds(value:Rectangle2D):void
CRS 属性  
CRS:CoordinateReferenceSystem

获取或设置当前图层的坐标参考系( CoordinateReferenceSystem )。默认值为 null。设置 CoordinateReferenceSystem.wkid 属性后,图层将被动态投影至 wkid 所代表的投影坐标系下,若 wkid 小于等于 0 则不进行动态投影...

坐标参考系使用 EPSG 发布的代表特定椭球体、单位、地理坐标系或投影坐标系的 Well Konwn ID 值(简称 WKID)。

【注意】当 Map 与 ScaleBar 结合使用时,当前 Layer 为 Map 中的第一个图层,且当前 Layer 为自定义扩展图层(如继承 TiledCachedLayer 扩展缓存图层)时,需要注意以下情况:CRS 属性为必设。如果 Layer 的地图单位为度/米,则 CRS 属性需设置 CRS.unit 为 Unit.DEGREE/Unit.METER;若地图单位为米,且地图投影为 web mercator,则还需设置 CRS.wikd 为 900913。


Implementation
    public function get CRS():CoordinateReferenceSystem
    public function set CRS(value:CoordinateReferenceSystem):void
dpi 属性  
dpi:Number

获取当前图层的扫描精度,即单位面积内的像素的个数...

该属性是根据与服务端交互返回的参数计算得出。DPI 参数获取与计算方法请参见 ScaleUtil.getDpi() 方法。


Implementation
    protected function get dpi():Number
    protected function set dpi(value:Number):void

另请参见

com.supermap.web.utils.ScaleUtil.getDpi()
isInResolutionRange 属性  
isInResolutionRange:Boolean  [read-only]

判断与当前图层关联的 Map 的分辨率是否在当前图层的最大、最小分辨率范围内。true 表示在最大、最小范围内。


Implementation
    public function get isInResolutionRange():Boolean
isScaleCentric 属性  
isScaleCentric:Boolean  [read-only]

指示该图层是否有 DPI 值,ture 表示当前图层已根据从 SuperMap iServer 服务端获取的参数计算出 DPI;false 反之。WMS、WMTS 等图层该属性值为 false。DynamicRESTLayer、TiledDynamicRESTLayer 等专门关联 SuperMap iServer 服务的图层该属性为 true。


Implementation
    public function get isScaleCentric():Boolean
loaded 属性  
loaded:Boolean  [read-only]

若当前图层已加载完闭则返回 true,否则返回 false。


Implementation
    public function get loaded():Boolean
maxVisibleResolution 属性  
maxVisibleResolution:Number

当前图层的最大显示分辨率。即当图层缩放至该分辨率时就不能再放大。


Implementation
    public function get maxVisibleResolution():Number
    public function set maxVisibleResolution(value:Number):void
metadata 属性  
metadata:Object

获取或设置当前图层信息,包括图层标题、描述信息、图层所在地图控件名称。


Implementation
    public function get metadata():Object
    public function set metadata(value:Object):void
minVisibleResolution 属性  
minVisibleResolution:Number

当前图层的最小显示分辨率。即当图层缩放至该分辨率时就不能再缩小。


Implementation
    public function get minVisibleResolution():Number
    public function set minVisibleResolution(value:Number):void
resolution 属性  
resolution:Number  [read-only]

获取当前图层的显示分辨率。


Implementation
    public function get resolution():Number
url 属性  
url:String

图层所在的服务地址。

此属性可用作数据绑定的源。修改此属性后,将调度 Bindable 事件。


Implementation
    public function get url():String
    public function set url(value:String):void
visible 属性  
visible:Boolean[Override]

获取或设置当前图层是否可见。


Implementation
    public function get visible():Boolean
    public function set visible(value:Boolean):void
构造函数详细信息
Layer () 构造函数
public function Layer()

初始化 Layer 类的新实例。

方法详细描述
addedHandler () 方法
protected function addedHandler(event:Event):void

处理 Event.ADDED 事件的侦听器函数。

参数

event:Event — 事件对象。

addMapListeners () 方法  
protected function addMapListeners():void

为当前图层添加事件侦听器,以使侦听器能够接收 ZoomEvent、 ViewBoundsEvent 事件的触发通知。

draw () 方法  
protected function draw():void

渲染出图,注意:子类必须重写该方法来实现渲染出图。

hideHandler () 方法  
protected function hideHandler(event:FlexEvent):void

处理 FlexEvent.HIDE 事件的侦听器函数。

参数

event:FlexEvent — 事件对象。

invalidateLayer () 方法  
protected function invalidateLayer():void

通过子类调用以更新图层。

refresh () 方法  
public function refresh():void

刷新图层,即调用 Layer.invalidateDisplayList() 方法(详情请参见 Flex SDK UIComponent.invalidateDisplayList() 方法),更新 Layer 的显示列表。对于 GraphicsLayer 调用该方法会对 GraphicsLayer 上所有显示对象 Graphic 进行重绘。

removeAllChildren () 方法  
protected function removeAllChildren():void

删除 Layer 上的所有对象。

removedHandler () 方法  
protected function removedHandler(event:Event):void

处理 Event.REMOVED 事件的侦听器函数。

参数

event:Event — 事件对象。

removeMapListeners () 方法  
protected function removeMapListeners():void

移除通过 addMapListeners 添加的事件侦听器。

setLoaded () 方法  
protected function setLoaded(value:Boolean):void

设置图层是否加载完闭,会触发 LayerEvent.LOAD 事件。true 表示当前图层已加载完毕。注意:任何继承 Layer 的子类都必须在 Layer 初始化完成之后调用该接口设置对应的图层是否加载完毕。

参数

value:Boolean

另请参见

showHandler () 方法  
protected function showHandler(event:FlexEvent):void

处理 FlexEvent.SHOW 事件的侦听器函数。

参数

event:FlexEvent — 事件对象。

viewBoundsChangedHandler () 方法  
protected function viewBoundsChangedHandler(event:ViewBoundsEvent):void

处理 viewBoundsChanged 事件的侦听器函数。

参数

event:ViewBoundsEvent — ViewBoundsEvent 事件类对象。

另请参见

ViewBoundsEvent Class
zoomEndHandler () 方法  
protected function zoomEndHandler(event:ZoomEvent):void

处理 zoomEnd 事件的侦听器函数。

参数

event:ZoomEvent — ZoomEvent 事件类对象。

另请参见

ZoomEvent Class
zoomStartHandler () 方法  
protected function zoomStartHandler(event:ZoomEvent):void

处理 zoomStart 事件的侦听器函数。

参数

event:ZoomEvent — ZoomEvent 事件类对象。

另请参见

ZoomEvent Class
zoomUpdateHandler () 方法  
protected function zoomUpdateHandler(event:ZoomEvent):void

处理 zoomUpdate 事件的侦听器函数。

参数

event:ZoomEvent — ZoomEvent 事件类对象。

另请参见

ZoomEvent Class
事件详细信息
isInResolutionRangeChange 事件
Event Object Type: com.supermap.web.events.LayerEvent
LayerEvent.type 属性 = com.supermap.web.events.LayerEvent.IS_IN_RESOLUTION_RANGE_CHANGE

当 Layer 的 IsInResolutionRange 属性发生变化时触发该事件。

定义 Layer.IsInResolutionRange 属性改变事件的 type 属性值。
load 事件  
Event Object Type: com.supermap.web.events.LayerEvent
LayerEvent.type 属性 = com.supermap.web.events.LayerEvent.LOAD

当图层初始化完成时触发该事件。

定义图层加载事件的 type 属性值。
loadError 事件  
Event Object Type: com.supermap.web.events.LayerEvent
LayerEvent.type 属性 = com.supermap.web.events.LayerEvent.LOAD_ERROR

当载入图层出错时触发该事件。

定义图层加载错误事件的 type 属性值。
maxVisibleResolutionChange 事件  
Event Object Type: flash.events.Event

当图层最大显示分辨率改变时触发该事件。

另请参见

maxVisibleResolution
minVisibleResolutionChange 事件  
Event Object Type: flash.events.Event

当图层最小显示分辨率改变时触发该事件。

另请参见

updateEnd 事件  
Event Object Type: com.supermap.web.events.LayerEvent
LayerEvent.type 属性 = com.supermap.web.events.LayerEvent.UPDATE_END

当完成更新图层时触发该事件。

定义图层更新完成事件的 type 属性值。
updateStart 事件  
Event Object Type: com.supermap.web.events.LayerEvent
LayerEvent.type 属性 = com.supermap.web.events.LayerEvent.UPDATE_START

当更新图层开始时触发该事件。

定义图层更新开始事件的 type 属性值。
visibleChange 事件  
Event Object Type: flash.events.Event

当图层的 visible 属性发生改变时触发该事件。

另请参见