在Openlayers 5中使用WMS(Geoserver)的问题

时间:2019-09-13 08:16:45

标签: javascript openlayers openlayers-3 openlayers-5

我正在尝试使用Openlayers 5 WMS图层来显示我的Geoserver数据,但是它不能正常工作。某些缩放级别未加载地图图块。发生这种情况时,我会在浏览器控制台中看到以下错误:

  

400:图块索引的X,Y值计算为   {584.26,703.01}必须四舍五入为   {584,703},并且超过了10%的阈值。也许客户是   使用错误的来源?

在加载地图图块的缩放级别上,我看到地图未按预期的方式居中。

我也尝试过使用Openlayers 3,但是存在相同的问题。

这是我使用的代码:

let layer = new ol.layer.Tile({
    source: new ol.source.TileWMS({
        serverType: 'geoserver',
        projection: 'EPSG:900913',
        url: USER_GEOSERVER_ADDRESS,
        params: {
            LAYERS: GEOSERVER_LAYER_NAME,
            VERSION: '1.1.1',
            FORMAT: 'image/png',
            TILED: 'true'
        }
    })
});

let olMap = new ol.Map({
    target: 'olMap',
    layers: olMapLayers,
    view: new ol.View({
        center: ol.proj.fromLonLat([37.6, 55.7]),
        projection: 'EPSG:900913',
        zoom: 8
    })
});

Openlayers 2 WMS在我的Geoserver上运行良好:

let map = new OpenLayers.Map('olMap', {
    projection:    new OpenLayers.Projection('EPSG:900913'),
    displayProjection: new OpenLayers.Projection("EPSG:4326"),
    units:         'meters',
    renderer:      'canvas',
    numZoomLevels: 14,
    maxExtent:     new OpenLayers.Bounds(-18639016.68, -20037508.34, 21436000, 20037508.34),
});

let layer = new OpenLayers.Layer.WMS('GeoServer', USER_GEOSERVER_ADDRESS, {
    LAYERS: GEOSERVER_LAYER_NAME,
    STYLES: '',
    format: 'image/png',
    tiled:  true
}, {
    isBaseLayer: true
});

map.addLayer(layer);

也许我应该使用Openlayers 5中的一些特定配置选项来使WMS层正常工作?

0 个答案:

没有答案