Mehr

Einstellen von Höhe und Breite für den TileWMS-Layer in OpenLayers 3

Einstellen von Höhe und Breite für den TileWMS-Layer in OpenLayers 3


Ich versuche, einen TileWMS-Layer in OpenLayers 3 einzurichten als:

var baseMap = new ol.layer.Tile({ title: "MayBase Map", source: new ol.source.TileWMS({ url: mapUrl, params: { 'LAYERS': 'GIS_Demo', 'TILED': true, ' SRS':'EPSG:900913', 'WIDTH':256, 'HEIGHT':256}, serverType: 'geoserver' }) });

Aber wenn ich tatsächlich anfordere, bekomme ich die URL wie:

http://localhost:8080/geoserver/gwc/service/wms?SERVICE=WMS&VERSION=1.3.0&REQUEST=GetMap&FORMAT=image/png&TRANSPARENT=true&LAYERS=GIS_Demo&TILED=true&SRS=EPSG:900913&WIDTH=205&HEIGHTSG=205&CRS=EPSG:900913&WIDTH=205&HEIGHTSG: dpi:81&BBOX=8624542.775473006,1452915.0336446315,8629434.745283257,1457807.003454883

Obwohl ich hier die Höhe und Breite von jeweils 256 festlege, überschreibt es irgendwie die Standardwerte von 205 (für weitere Ansichtsdokumente).

Dies verursacht im Grunde die GWC-Fehler wie :400: Die angeforderten Kachelmaße 205x205 stimmen nicht mit denen des Rastersets (256x256) überein

Warum passiert das? ist das ein fehler? oder gibt es eine andere Möglichkeit die Breite und Höhe anzugeben?


Ich hatte ein ähnliches Problem und fügte hinzu

Pixelverhältnis: 1,

zum Abschnitt ol.Map hat das Problem gelöst.

http://jsfiddle.net/jLmyo3gL/2/


Wenn Sie sich die http://openlayers.org/en/v3.6.0/apidoc/ol.source.TileWMS.html Dokumentation genau ansehen, steht am Ende der Option params

BREITE, HÖHE, BBOX und CRS (SRS für WMS-Version < 1.3.0) wird dynamisch gesetzt.

Um Ihre Kachelabmessungen zu ändern, müssen Sie a tilegrid auf die Option tilegrid setzen, aber 256 x 256 ist die Standardeinstellung, sodass Sie diese Option einfach weglassen können.

var baseMap = new ol.layer.Tile({ title: "MayBase Map", source: new ol.source.TileWMS({ url: mapUrl, params: {'LAYERS': 'GIS_Demo', 'TILED': true,' SRS':'EPSG:900913'}, serverType: 'Geoserver' }) });