| 包 | com.supermap.web.mapping |
| 类 | public class Layer |
| 继承 | Layer 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 类的新实例。
|
Layer | ||
|
refresh():void
刷新图层,即调用 Layer.invalidateDisplayList() 方法(详情请参见 Flex SDK UIComponent.invalidateDisplayList() 方法),更新 Layer 的显示列表。对于 GraphicsLayer 调用该方法会对 GraphicsLayer 上所有显示对象 Graphic 进行重绘。
|
Layer | ||
| 方法 | 定义方 | ||
|---|---|---|---|
|
addedHandler(event:Event):void
处理 Event.ADDED 事件的侦听器函数。
|
Layer | ||
|
addMapListeners():void
为当前图层添加事件侦听器,以使侦听器能够接收 ZoomEvent、 ViewBoundsEvent 事件的触发通知。
|
Layer | ||
|
draw():void
渲染出图,注意:子类必须重写该方法来实现渲染出图。
|
Layer | ||
|
hideHandler(event:FlexEvent):void
处理 FlexEvent.HIDE 事件的侦听器函数。
|
Layer | ||
|
invalidateLayer():void
通过子类调用以更新图层。
|
Layer | ||
|
removeAllChildren():void
删除 Layer 上的所有对象。
|
Layer | ||
|
removedHandler(event:Event):void
处理 Event.REMOVED 事件的侦听器函数。
|
Layer | ||
|
removeMapListeners():void
移除通过 addMapListeners 添加的事件侦听器。
|
Layer | ||
|
setLoaded(value:Boolean):void
设置图层是否加载完闭,会触发 LayerEvent.LOAD 事件。true 表示当前图层已加载完毕。注意:任何继承 Layer 的子类都必须在 Layer 初始化完成之后调用该接口设置对应的图层是否加载完毕。
|
Layer | ||
|
showHandler(event:FlexEvent):void
处理 FlexEvent.SHOW 事件的侦听器函数。
|
Layer | ||
|
viewBoundsChangedHandler(event:ViewBoundsEvent):void
处理 viewBoundsChanged 事件的侦听器函数。
|
Layer | ||
|
zoomEndHandler(event:ZoomEvent):void
处理 zoomEnd 事件的侦听器函数。
|
Layer | ||
|
zoomStartHandler(event:ZoomEvent):void
处理 zoomStart 事件的侦听器函数。
|
Layer | ||
|
zoomUpdateHandler(event:ZoomEvent):void
处理 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)如果使用其它服务产品,请参考其帮助文档。
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。
public function get CRS():CoordinateReferenceSystem public function set CRS(value:CoordinateReferenceSystem):void| dpi | 属性 |
dpi:Number
获取当前图层的扫描精度,即单位面积内的像素的个数...
该属性是根据与服务端交互返回的参数计算得出。DPI 参数获取与计算方法请参见 ScaleUtil.getDpi() 方法。
protected function get dpi():Number protected function set dpi(value:Number):void另请参见
| isInResolutionRange | 属性 |
isInResolutionRange:Boolean [read-only]
判断与当前图层关联的 Map 的分辨率是否在当前图层的最大、最小分辨率范围内。true 表示在最大、最小范围内。
public function get isInResolutionRange():Boolean| isScaleCentric | 属性 |
isScaleCentric:Boolean [read-only]
指示该图层是否有 DPI 值,ture 表示当前图层已根据从 SuperMap iServer 服务端获取的参数计算出 DPI;false 反之。WMS、WMTS 等图层该属性值为 false。DynamicRESTLayer、TiledDynamicRESTLayer 等专门关联 SuperMap iServer 服务的图层该属性为 true。
public function get isScaleCentric():Boolean| loaded | 属性 |
loaded:Boolean [read-only]
若当前图层已加载完闭则返回 true,否则返回 false。
public function get loaded():Boolean| maxVisibleResolution | 属性 |
maxVisibleResolution:Number
当前图层的最大显示分辨率。即当图层缩放至该分辨率时就不能再放大。
public function get maxVisibleResolution():Number public function set maxVisibleResolution(value:Number):void| metadata | 属性 |
metadata:Object
获取或设置当前图层信息,包括图层标题、描述信息、图层所在地图控件名称。
public function get metadata():Object public function set metadata(value:Object):void| minVisibleResolution | 属性 |
minVisibleResolution:Number
当前图层的最小显示分辨率。即当图层缩放至该分辨率时就不能再缩小。
public function get minVisibleResolution():Number public function set minVisibleResolution(value:Number):void| resolution | 属性 |
resolution:Number [read-only]
获取当前图层的显示分辨率。
public function get resolution():Number| url | 属性 |
url:String
图层所在的服务地址。
此属性可用作数据绑定的源。修改此属性后,将调度 Bindable 事件。
public function get url():String public function set url(value:String):void| visible | 属性 |
visible:Boolean[Override]
获取或设置当前图层是否可见。
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 事件类对象。 |
另请参见
| zoomEndHandler | () | 方法 |
protected function zoomEndHandler(event:ZoomEvent):void
处理 zoomEnd 事件的侦听器函数。
参数
event:ZoomEvent — ZoomEvent 事件类对象。 |
另请参见
| zoomStartHandler | () | 方法 |
protected function zoomStartHandler(event:ZoomEvent):void
处理 zoomStart 事件的侦听器函数。
参数
event:ZoomEvent — ZoomEvent 事件类对象。 |
另请参见
| zoomUpdateHandler | () | 方法 |
protected function zoomUpdateHandler(event:ZoomEvent):void
处理 zoomUpdate 事件的侦听器函数。
参数
event:ZoomEvent — ZoomEvent 事件类对象。 |
另请参见
| isInResolutionRangeChange | 事件 |
com.supermap.web.events.LayerEventcom.supermap.web.events.LayerEvent.IS_IN_RESOLUTION_RANGE_CHANGE当 Layer 的 IsInResolutionRange 属性发生变化时触发该事件。
定义 Layer.IsInResolutionRange 属性改变事件的 type 属性值。| load | 事件 |
com.supermap.web.events.LayerEventcom.supermap.web.events.LayerEvent.LOAD当图层初始化完成时触发该事件。
定义图层加载事件的 type 属性值。| loadError | 事件 |
com.supermap.web.events.LayerEventcom.supermap.web.events.LayerEvent.LOAD_ERROR当载入图层出错时触发该事件。
定义图层加载错误事件的 type 属性值。| maxVisibleResolutionChange | 事件 |
flash.events.Event当图层最大显示分辨率改变时触发该事件。
另请参见
| minVisibleResolutionChange | 事件 |
| updateEnd | 事件 |
com.supermap.web.events.LayerEventcom.supermap.web.events.LayerEvent.UPDATE_END当完成更新图层时触发该事件。
定义图层更新完成事件的 type 属性值。| updateStart | 事件 |
com.supermap.web.events.LayerEventcom.supermap.web.events.LayerEvent.UPDATE_START当更新图层开始时触发该事件。
定义图层更新开始事件的 type 属性值。| visibleChange | 事件 |