我正在尝试通过 GeoServer 的 WMS 使用 OpenLayers 显示地图。我想知道 OpenLayers 如何计算 BBOX 坐标以使用 js 正确设置它们并避免发布的错误响应。我对 OpenStreetMap 和 GoogleStreetMap 没有这个问题。
这是我在函数中使用的 JavaScript 代码:
function myfunc(display, url){
var params = {};
params.layers = 'Italy';
params.format = 'image/jpeg';
params.transparent = true;
var options = {};
options.projection='EPSG:900913';
options.displayProjection="EPSG:4326";
options.maxExtent= new OpenLayers.Bounds(-20037508.34, 20037508.34,20037508.34,20037508.34);
options.isBaseLayer = true;
return new OpenLayers.Layer.WMS(display, url, params, options);
}
这是对地理服务器的请求:
http://mydomain:myport/geoserver/gwc/service/wms?LAYERS=Italy&FORMAT=image%2Fpng&TRANSPARENT=true&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A900913&BBOX=1384430.175625,5152466.50375,1384430.87875,5152467.206875&WIDTH=256&HEIGHT=256
这是我从地理服务器得到的响应:
400:分辨率 (0.00274658203125) 不是最接近网格分辨率 (0.0023326729820109904) 的 5.0%