解壓後我們看到img ,lib,theme三個資料夾和openlayers.js和openlayers.debug.js兩個js檔案,如圖
其中img是自定義的控制項,lib中包含firebug,openlayers,rico三個資料夾和deprecated.js及openlayers.js兩個js檔案,如圖
在openlayers資料夾中就是所有的基類和建立的控制項的js檔案集合,如圖
由於有兩個openlayers.js檔案,很多人都會搞糊塗,我頁面引用的時候用哪乙個??,下面我就這個問題向大家說明一下,首先在根目錄下的openlayers.js其實是lib檔案中所有js指令碼的整合體,我們可以看到openlayers.debug.js指令碼,其實這是openlayers.js的未加密版。而在lib資料夾中的openlayers.js相當於乙個載入所有js檔案的配置檔案,其中的變數jsfiles就是用來儲存所有js指令碼的。簡而言之,根目錄下的openlayers.js就是將lib下面的所有js都寫到乙個檔案裡了,只引用這乙個檔案就可以,而lib下的openlayers.js相當於乙個配置檔案利用document.write方法將所有指令碼載入到網路上。
但是,我們在openlayers.js中看到這樣一句話:
也就是說,在3.0版本之後,將不再支援配置檔案的方式,也就是說我們只能引用根目錄中的openlayers.js指令碼檔案
因此,當我們需要新增自定義控制項時,有三種方法可以實現:
1、直接將自定義控制項的指令碼複製到openlayers.debug.js中,然後壓縮指令碼檔案成openlayers.js然後在頁面中引用openlayers.js
2、將自定義控制項放置在lib中(注意檔案路徑要放對),然後在lib的openlayers.js中的jsfiles中加入對應字串,然後在頁面中引用lib/openlayers.js
3、將自定義控制項js檔案放到任意資料夾中(可以乙個控制項定義乙個檔案,也可以多個控制項定義在乙個檔案中),除了引用上面中的其中一種js指令碼之外,也要引入該自定義控制項的指令碼路徑(不要忘記樣式)
建議:因為3.0之後就不再使用配置檔案方式,而且為了不破壞原有的檔案框架,我們最好使用第三種方式,這樣便於擴充套件而且不會破壞原有結構。
下篇文章,我們將通過具體例子對整個框架進行細緻的講解
openlayers 學習筆記(一)
拷貝目錄下的openlayer.js 根目錄下的lib目錄 根目錄下的img目錄到你 的scripts目錄下 當然,這個只是例子,您 的目錄結構您自己說得算,只要保證openlayers.js,lib,img在同一目錄中即可 然後,建立乙個 html作為檢視地圖的頁面。環境 geoserver1.7...
OpenLayers開發學習(一)
由於專案需要,最近開始學習openlayers開發gis客戶端,它的優勢咱就不說了。以前基本上沒學習過js之類的東西,這次突然要立馬就上,開發起來顯得很吃力,而且網上的api寫的也不是很清楚,那只有靠自己並摸索和並學習了。在開發中遇到的第一問題是 openlayers如何呼叫arcgis serve...
開源的OpenLayers框架,很不錯!!!
image類封裝乙個實際圖象作為圖曾內容 httprequest類可以接收乙個動態生成的,你可以通過httprequest類的引數向伺服器傳送引數 grid類是httprequest類的子類,提供更加詳細的方法 wms類用於連線wms伺服器以獲得圖象 kamap類用於連線mapserver even...