Как OpenLayers вычисляет координаты ограничивающего прямоугольника? - PullRequest
1 голос
/ 20 мая 2011

Я пытаюсь отобразить карту, используя OpenLayers через WMS GeoServer. Я хотел бы знать, как 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) составляет не с 5,0% ближайшей сетки разрешение (0,0023326729820109904)

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Я не эксперт по Geoserver, поэтому извиняюсь, если это тривиально.

Исходя из того, что я могу догадаться, это не проблема OpenLayers, а проблема конфигурации Geoserver.

Похоже, вы настроили слой "Italy" как предварительно скомпилированный плиточный слой, это правильно? И похоже, что где-то есть настройка, которая определяет, насколько близко разрешение в запросе может быть к предустановленным разрешениям в слое. Не могли бы вы попробовать другой степени? Может быть, немного уменьшить масштаб? Чтобы ваш запрос был ближе к разрешению слоев?

0 голосов
/ 20 мая 2011

Попробуйте настроить разрешение карты .

...