На локальном сервере стоит MapServer, на нем крутится заготовка карты (сначала решил движок настроить, потом дорисовать). На клиенте используется OpenLayers.
Проблема: При просмотре с использованием OpenLayers слои карты не отображаются. То есть, похоже, что отображается, но как-то не так (то ли с маштабом что-то, то ли с границами) - просто белый экран и все. При этом вроде как работает масштабирование (что-то подгружается с сервера) и перетаскивание (судя по курсору).
А при просмотре напрямую с использованием MapServer'a все нормально (правда при первом открытии страницы тоже белое поле вместо карты, но после любого действия с ней карта появляется).
Кусок map-файла:
Код: Выделить всё
MAP
NAME "ugo"
IMAGETYPE GIF
EXTENT 800.002504 -2001.252087 2001.002505 -1000.752921
SIZE 600 500
SHAPEPATH "shp/"
IMAGECOLOR 255 255 255
fontset "./fonts/fonts.list"
WEB
TEMPLATE './templates/template5.html'
IMAGEPATH '/var/www/ugo.su/map/'
IMAGEURL '/map/'
METADATA
wms_title "GIS-LAB Demo"
wms_abstract "This is the WMS demo from GIS-Lab"
wms_onlineresource "http://192.168.1.3/cgi-bin/mapserv?"
END
END
PROJECTION
"init=epsg:4326"
END
LAYER
NAME sq
DATA squares
STATUS ON
TYPE POLYGON
CLASS
NAME "sq"
STYLE
COLOR 200 210 230
OUTLINECOLOR 32 32 32
END
END
METADATA
wms_title "sq"
wms_abstract "squares"
wms_srs "EPSG:4326"
wms_include_items "all"
END
PROJECTION
"init=epsg:4326"
END
END
Клиентский скрипт:
Код: Выделить всё
<script
src="http://openlayers.org/api/OpenLayers.js"></script>
</head>
<body>
<div style="width:100%; height:100%" id="map"></div>
<script defer="defer" type="text/javascript">
var bounds = new OpenLayers.Bounds(799, -2000, 2000, -1000);
var map = new OpenLayers.Map('map');
var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS", "http://192.168.1.3/cgi-bin/mapserv?map=map/ugo.map&", {'map':'/usr/lib/cgi-bin/map/ugo.map','layers':'sq'} );
map.addLayer(wms);
map.zoomToExtent();
</script>
wms_onlineresource "http://192.168.1.3/cgi-bin/mapserv?"
изменил на
wms_onlineresource "http://192.168.1.3/cgi-bin/mapserv?map=map/ugo.map&"
Однако через OpenLayers не заработало.