OpenLayers-第一個程序


OpenLayers是一個javascript編寫的開源WebGIS客戶端軟件,后端可連接標准的OGC WMS/WFS/WCS的WebGIS服務以及Google Map,Microsoft Virtual Earth等空間數據。
OpenLayers具有豐富的功能,可用來開發WebGIS客戶端應用程序,目前的穩定版本是2.12。

下面利用在GeoServer發布WMS/WFS服務中發布的WMS服務,來實現一個簡單的加載和現實WMS服務數據的OpenLayers程序。

1.下載OpenLayers

OpenLayers可以在http://www.openlayers.org/download/OpenLayers-2.12.zip處下載。解壓后放到tomcat的webapps目錄下,OpenLayers的目錄結構為

2. 創建map-wms.html文件,並存在tomcat下的OpenLayers目錄下

3. 添加OpenLayers庫的js引用

1 <script src="./OpenLayers/lib/OpenLayers.js"></script>

4. 添加OpenLayers的css引用

1 <link rel="stylesheet" href="./theme/default/style.css" type="text/css" />
2 <link rel="stylesheet" href="./css/style.css" type="text/css" />

5.定義wms參數

1 <script  type="text/javascript">
2     //定義wms url地址
3     var wms_url = "http://127.0.0.1:8080/geoserver/world/wms?";
4     //定義wms圖層
5     var wms_layer = "world:country,world:cities";
6     //定義wms map圖片格式
7     var wms_format = 'image/png';
8 </script>

6. 定義html初始化函數,在這個函數中加載wms layer並顯示

 1 <script  type="text/javascript">
 2     //定義OpenLayers map對象
 3     var map = null;
 4     function init()
 5     {
 6         //創建map對象,
 7         map = new OpenLayers.Map("map");
 8         //創建WMS layer對象
 9         var layer = new OpenLayers.Layer.WMS("WMS Country",  wms_url,
10                                              {
11                                                 layers:     wms_layer, 
12                                                 format:     wms_format,
13                                                 singleTile: true
14                                              });
15         // 添加圖層
16         map.addLayer(layer);
17         // 放大到全屏
18         map.zoomToMaxExtent();
19     }
20 </script>

7. 設置html onload函數為init()

1 <body onload="init()">
2 3 </body>

8.定義OpenLayers的map容器

1 <body onload="init()">
2     <div id="map" class="smallmap"></div>
3 </body>

9. 在瀏覽器中鍵入http://127.0.0.1:8080/OpenLayers/map-wms.html,顯示OpenLayer界面

完整的代碼如下

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
 2 <HTML>
 3  <HEAD>
 4   <TITLE> OpenLayers : WMS </TITLE>
 5   
 6   <link rel="stylesheet" href="./theme/default/style.css" type="text/css" />
 7   <link rel="stylesheet" href="./css/style.css" type="text/css" />
 8 
 9   <script src="./lib/OpenLayers.js"></script>
10 
11   <script  type="text/javascript">
12     
13     //定義OpenLayers map對象
14     var map = null;
15 
16     //定義wms url地址
17     var wms_url = "http://127.0.0.1:8080/geoserver/world/wms?";
18     //定義wms圖層
19     var wms_layer = "world:country,world:cities";
20     //定義wms map圖片格式
21     var wms_format = 'image/png';
22 
23     function init()
24     {
25         //創建map對象,
26         map = new OpenLayers.Map("map");
27         //創建WMS layer對象
28         var layer = new OpenLayers.Layer.WMS("WMS Country",     wms_url,
29                                              {
30                                                 layers:     wms_layer, 
31                                                 format:     wms_format,
32                                                 singleTile: true
33                                              });
34         // 添加圖層
35         map.addLayer(layer);
36         // 放大到全屏
37         map.zoomToMaxExtent();
38     }
39 
40   </script>
41 
42  </HEAD>
43 
44  <body onload="init()">
45   <div id="map" class="smallmap"></div>
46  </body>
47 </HTML>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM