OpenLayers-2.13.1 WMS图层缓存设置
来源:互联网 发布:php 去除数组重复值 编辑:程序博客网 时间:2024/06/10 19:34
OpenLayers调用WMS服务:
图像的加载是采用的螺旋式加载。首先从右上角开始按照顺时针方向给整个img矩阵建立一个堆栈,其实质是按照堆栈先进后出思想设计的一个数组,然后按堆栈中的位置顺序从视窗中间开始逆时针方向依次加载栅格图像。
整个img矩阵构成一个grid格网,当移动地图使得grid的范围[即bound值]不能包含视窗的bound,或者地图的显示比例发生变化时会重新向服务器请求数据,否则只会移动各个img的位置,从而使得视窗在grid之内。
客户端用于栅格图显示的img数量是由计算得到的。用户指定的用于显示的div作为视窗,视窗大小除以每张img的长宽得到一个m*n的矩阵,表示要填满整个视窗在长宽方向所需的最少的img数量,然后将Img长宽方向都缓存两个img得到一个(m+2)*(n+2)的矩阵,即为客户端img数,默认缓存为两格,当然我们也可以将缓存数作为参数传入以改变缓存默认值buffer,那么改动之后的矩阵为(m+buffer)*(n+buffer)。
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> <meta name="apple-mobile-web-app-capable" content="yes"> <title>OpenLayers Buffer Example</title> <link rel="stylesheet" href="../theme/default/style.css" type="text/css"> <link rel="stylesheet" href="style.css" type="text/css"> <script src="../lib/OpenLayers.js"></script> <script type="text/javascript"> var lon = 0; var lat = 0; var zoom = 2; var map, layer; function init(){ map = new OpenLayers.Map( 'map' ); layer = new OpenLayers.Layer.WMS( "0 buffer: OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'}, {'buffer':0} ); map.addLayer(layer); layer = new OpenLayers.Layer.WMS( "1 buffer: OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'}, {'buffer':1} ); map.addLayer(layer); layer = new OpenLayers.Layer.WMS( "4 buffer: OpenLayers WMS", "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'}, {'buffer':4} ); map.addLayer(layer); map.addControl(new OpenLayers.Control.LayerSwitcher()); map.setCenter(new OpenLayers.LonLat(lon, lat), zoom); } </script> </head> <body onload="init()"> <h1 id="title">Buffer Example</h1> <div id="tags"> buffer, performance, tile, light </div> <p id="shortdesc"> This example shows the use of the buffer layer option for any layer that inherits from OpenLayers.Layer.Grid. </p> <div id="map" class="smallmap"></div> <div id="docs"> Use the buffer property to control how many tiles are included outside the visible map area. Default is 0. </div> </body></html>
阅读全文
0 0
- OpenLayers-2.13.1 WMS图层缓存设置
- OpenLayers+天地图+Geoserver+WMS图层服务
- OpenLayers中的图层
- OpenLayers中的图层
- OpenLayers调用WMS服务
- openlayers.layer.WMS
- openlayers wms空间查询
- qgis加载geoserver wms图层
- Openlayers如何刷新过滤图层
- openlayers自定义图层控制的实现
- OpenLayers 3 之 切换图层控件
- openlayers使用geoser的WMS协议
- MapServer6.4.1教程学习--添加OGC WMS图层(1-7)
- WMS GetFeatureInfo (Image Layer)——WMS获取要素信息(图像图层)
- WMS GetFeatureInfo (Layers)——WMS获取要素信息(图层)
- WMS GetFeatureInfo (Tile Layer)——WMS获取要素信息(瓦片图层)
- OpenLayers-2.13.1 用选择器框选多个矢量图层中的多个要素
- Openlayers热力图层
- Linux LVM硬盘扩容
- ThreadPoolExecutor的参数介绍
- 解决Invalid left-hand side in assignment页面报错问题
- 理解面向对象
- JavaScript常用的基础语法和技巧
- OpenLayers-2.13.1 WMS图层缓存设置
- SpringMVC下的图片存取方法
- Python2中的函数与Python3中函数的不同
- 关于CentOS7下swap分区创建(添加),删除以及相关配置
- 阅读笔记 > 程序设计语言( PDL )
- 好久不做cf感到难受
- struts2的个别bug问题
- ACM学期总结
- Android开发基础之ListView