拿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用于建关联关系。
img只是引用的作用,是无法控制的,需要加入JS代码来控制var imgs=document.getElementsByTagName('img')
for (var i=0i<imgs.lengthi++)
imgs[i].src = imgs[i].src
如果能看懂这段代码的话把这段代码做成一个函数,加到网页上,在引入图片的时候调用这段代码,如果看不懂得补习一下JS的知识了