OpenLayers和geowebcache结合

采用
geowebcache



缓存地图

1



.把
geowebcache



服务放到
tomcat



应用中,假设和
wms



服务放在同一个
tomcat



中,在
geowebcache/WEB-INF



下面找到
geowebcache-servlet.xml


在这个文件中有一段:

 <bean id="gwcWMSConfig" class="org.geowebcache.config.GetCapabilitiesConfiguration">
  	<constructor-arg ref="gwcGridSetBroker"/>
    <!-- The URL to the WMS GetCapabilities document -->
    <constructor-arg value="http://localhost:8000/wmsserver111/servlet/wms"/>
//替换成wms实际的url地址
。。。
  </bean>

 

2.在
geowebcache/WEB-INF/classes



中找到
geowebcache.xml



文件,打开文件,在
<layers>



标签中添加一个
<wmsLayer>



,如:

<wmsLayer>
    <name>gz</name>
    <metaInformation>
      <title>gz</title>
      <description>gz</description>
    </metaInformation>
     <mimeFormats><string>image/jpeg</string><string>image/gif</string><string>image/png</string></mimeFormats>
    <!-- Grid Subset Example -->
    <gridSubsets>
      <gridSubset>
        <gridSetName>EPSG:4326</gridSetName>
        <extent>
          <coords>
            <double>112.806</double>  
            <double>22.567</double>   
            <double>114.287</double>  
            <double>24.067</double>  
          </coords>
        </extent>
      </gridSubset>
    </gridSubsets>
    <wmsUrl>
      <string>http://localhost:8000/wmsserver111/servlet/wms</string>
    </wmsUrl>
<wmsLayers>layers/gz/xzqj,layers/gz/ld,layers/gz/sx,layers/gz/jmd,layers/gz/gsgl,layers/gz/gd,layers/gz/sd,layers/gz/ptgl,layers/gz/ybjd,layers/gz/cgd,layers/gz/zgd,layers/gz/zfjg</wmsLayers>
 //此处是mapxtreme480\resources\layers下面的命名资源
    <transparent>true</transparent>
    <bgColor></bgColor>
    <expireCacheList>
    	<expirationRule minZoom="10" expiration="600" />
    </expireCacheList>
    <expireClientsList>
     <expirationRule minZoom="0" expiration="7200" />
    </expireClientsList>
  </wmsLayer>

 

3



.编写
js



代码,其他代码不变修改如下:代码见:http://ninggy.iteye.com/blog/617150



  var tiled = new OpenLayers.Layer.WMS("背景图",
      "http://localhost:8000/geowebcache/service/wms?LAYERS=gz", {
        layers : 'gz',
        format : format
      }, {
        buffer : 0,
        displayOutsideMaxExtent : true,
        tileSize : new OpenLayers.Size(256, 256)
      });

 

 

 

 

转载自:https://blog.csdn.net/ning947/article/details/83811457

You may also like...