Дано: MS4W с Mapserver 6.0.3 и Openlayers 2.10, карта в формате Mapinfo. Исходно карта была в СК Пулково 42, перепроецировал в EPSG:4326. Код map-файла:
Код: Выделить всё
MAP
NAME "Test map"
EXTENT 29.424952 59.633724 30.758989 60.245014
UNITS DD
IMAGETYPE PNG
IMAGECOLOR 255 255 255
STATUS ON
SIZE 200 200
DATAPATTERN ".*"
WEB
METADATA
ows_enable_request "*"
"wms_title" "Test map"
"ows_srs" "epsg:4326"
WMS_BBOX_EXTENDED "TRUE"
END
END
PROJECTION
"init=epsg:4326"
"proj=latlong"
"ellps=WGS84"
"datum=WGS84"
END
LAYER
NAME "Peterburg_hydrography_a"
TYPE POLYGON
STATUS ON
CONNECTIONTYPE OGR
CONNECTION "C:\Tools\Map\ms4w\apps\mmap\htdocs\map\4326\Peterburg_hydrography_a.tab"
STYLEITEM "AUTO"
CLASS
NAME "Hydro"
END
END
END
Код настроек Openlayers:
Код: Выделить всё
// Map options
var options = {
size: new OpenLayers.Size(660, 660), // map div size is 660x660
maxExtent: new OpenLayers.Bounds(29.424952, 59.633724, 30.758989, 60.245014),
minResolution: "auto",
minExtent: new OpenLayers.Bounds(-1, -1, 1, 1),
maxResolution: "auto",
numZoomLevels: 11,
projection: "EPSG:4326",
controls: [],
allOverlays: true,
SphericalMercator: false
}
var map = new OpenLayers.Map( 'map', options );
var mapserv = 'http://127.0.0.1:8010/cgi-bin/mapserv.exe'
// Create layer
var layer_params = {format: 'image/png', 'LAYERS': 'Peterburg_hydrography_a', transparent: true}
var layer_options = {isBaseLayer: false, visibility: true, SphericalMercator: false, projection: "EPSG:4326"}
var layer = new OpenLayers.Layer.WMS( 'Hydro', mapserv, layer_params, layer_options)
map.addLayer(layer)
var zoom = 0
// map center
var lon = 59.939369
var lat = 30.0919705
map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
Как заставить Openlayers слать корректное значние BBOX, чтобы карта не расстягивалась?
P.S. Не покидает стойкое ощущение, что я чего-то очевидное упускаю из виду. Только нащупать никак не могу.