AGS JS开发-动态图层全面解析一

JavaScript016

AGS JS开发-动态图层全面解析一,第1张

动态图层是地图服务中包含的一项功能,允许通过客户端API动态的更改地图服务中的图层外观和行为。具体来说,通过动态图层可以实现:

拿WebGIS系统开发来说,如果想更改地图服务中某个图层的渲染方式,通常的做法是先将数据取到客户端,然后在客户端更改渲染方法。对于小数据量,这种客户端渲染的方式没有问题,但数据量大之后客户端无法承载。

个人认为,在以下业务需求下,可尝试使用动态图层来解决:

需要注意的是,动态图层支持的数据量也不是无限的,动态图层的出图效果与发布的动态地图服务效果一样。换句话说,如果动态地图服务中数据量上百万后,在客户端加载时会明显看到数据加载效果,而且加载会较慢,同样换成动态图层也会出现同样的效果。

动态图层支持的数据源包括:

在客户端API中使用动态图层功能时,可以结合rest服务地址来测试传递的参数是否合法,以及检验输出结果。rest地址中传递的参数内容可根据REST API帮助说明输入。

在JS API中与动态图层相关的数据源有两类:图层源和数据源。图层源指的是可以加载到地图中的Layer,数据源则是图层源Layer实际关联的原始数据。图层源与数据源的关系如下:

图层源分为两种:Map Layer和Data Layer,如果是原地图服务中的图层,则图层源类型是Map Layer;如果是从动态工作空间加载的图层,则是Data Layer类型。Data Layer根据原始数据的来源(即数据源),包含有:table、raster、query、join。table数据源指的是表和图层数据、raster指的是栅格数据、query指的是查询图层、join用于建关联关系。

<script>

var Obj

function MouseDown(obj){

Obj=obj

Obj.setCapture()

Obj.l=event.x-Obj.style.pixelLeft

Obj.t=event.y-Obj.style.pixelTop

}

function MouseMove(){

if(Obj!=null){

Obj.style.left = event.x-Obj.l

Obj.style.top = event.y-Obj.t

}

}

function MouseUp(){

if(Obj!=null){

Obj.releaseCapture()

Obj=null

}

}

</script>

<div class="class4" onmousedown=MouseDown(this) onmousemove=MouseMove() onmouseup=MouseUp()>

我是可以拖动的层<br/>

以上是我自己写的 不过没有关闭的按钮,你可以自己添加一个,不是卸载,你是想隐藏吧?点击某段文字就让它显示?

只需要把点击的图片放进层里就行了,你自己研究一下真的很容易,实在不行你再问我!