包 | com.supermap.web.mapping |
类 | public class Layer |
继承 | Layer ![]() |
子类 | 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.LayerEvent
com.supermap.web.events.LayerEvent.IS_IN_RESOLUTION_RANGE_CHANGE
当 Layer 的 IsInResolutionRange 属性发生变化时触发该事件。
定义 Layer.IsInResolutionRange 属性改变事件的 type 属性值。load | 事件 |
com.supermap.web.events.LayerEvent
com.supermap.web.events.LayerEvent.LOAD
当图层初始化完成时触发该事件。
定义图层加载事件的 type 属性值。loadError | 事件 |
com.supermap.web.events.LayerEvent
com.supermap.web.events.LayerEvent.LOAD_ERROR
当载入图层出错时触发该事件。
定义图层加载错误事件的 type 属性值。maxVisibleResolutionChange | 事件 |
flash.events.Event
当图层最大显示分辨率改变时触发该事件。
另请参见
minVisibleResolutionChange | 事件 |
updateEnd | 事件 |
com.supermap.web.events.LayerEvent
com.supermap.web.events.LayerEvent.UPDATE_END
当完成更新图层时触发该事件。
定义图层更新完成事件的 type 属性值。updateStart | 事件 |
com.supermap.web.events.LayerEvent
com.supermap.web.events.LayerEvent.UPDATE_START
当更新图层开始时触发该事件。
定义图层更新开始事件的 type 属性值。visibleChange | 事件 |