將本地shape文件發布到geoserver中,使用openlayers以wms服務的方式進行調用,有兩種調用方式,一種圖層以ol.layer.Image形式進行展示,另一種以ol.layer.Tile形式進行展示。
下面對兩種方式的詳細說明記錄:
方法一:ol.layer.Image形式調用
使用這種方式,是將圖層的當前視圖作為一張圖片進行請求加載,而不是一系列256*256的小圖片構成:
var wmsLayer = new ol.layer.Image({
visible: true,
source: new ol.source.ImageWMS({
ratio: 1,
url: wmsUrl,
params: {
'FORMAT': 'image/jpeg',
'VERSION': '1.1.1',
LAYERS: layerName,
STYLES: '',
}
})
});

方法二:ol.layer.Tile形式調用
使用這種方式,是將圖層的當前視圖作為一系列256*256的小切片進行加載,加載方式類似地圖切片,加載速度感覺更快,減少出現地圖全部空白的情況。但在加載有注記的wms服務時,需要在geoserver中對服務的樣式進行設置,避免重復出現注記。
var wmsTileLayer = new ol.layer.Tile({
visible: true,
source: new ol.source.TileWMS({
url: wmsUrl,
params: {
'FORMAT': 'image/jpeg',
'VERSION': '1.1.1',
tiled: true,
LAYERS: layerName,
STYLES: '',
}
})
});
注意:如果不對geoserver進行設置,則每一張切片都會有一個地市名字,需要在geoserver的樣式中設置只在地圖中心。

