Не скажу, что у меня идеально все работает на чистом MapServer (но там проблемы кодировок)..вот попробовала "натянуть" OL на код с поиском..ошибок не выдает, но и карту не грузит... Вот код (сократила кол-во слоев...это не принципиально):
Код: Выделить всё
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<meta http-equiv=Content-Type content="text/html; charset=windows-1251">
<link rel="stylesheet" type="text/css" rev="stylesheet" href="style.css">
<title>Карта АГТУ</title>
</HEAD>
<BODY>
<div id="main">
<div id="top"><a href="http://www.astu.org"><img src="images/astu.jpg" name="astu" width="92" height="93" border="0" id="astu"></a></div>
<table cellpadding="0" cellspacing="0">
<tr>
<td valign="top">
<div id="menu">
<a href="index.htm">Карта</a>
<div id="elem">Поиск</div>
<a href="event.htm">Мероприятия</a>
<a href="help.htm">Помощь</a>
</div>
<div id="poisk">
<script LANGUAGE="JavaScript">
floors = new Array(6);
floors[0] = new Array("0", "1000", " ","001", "001", "003", "003", "010", "010");
floors[1] = new Array("1", "1000", " ","89", "101", "102","105","105","108", "108", "102", "112", "112", "122", "122", "124","124","128","128","134", "134","136","136");
floors[2] = new Array("2", "1000", " ","202", "202", "222", "222", "204", "204", "215а", "215а");
floors[3] = new Array("3", "1000", " ","305", "305", "323", "323", "324", "324");
floors[4] = new Array("4", "1000", " ","403", "403", "418", "418", "424", "424");
floors[5] = new Array("5", "1000", " ","501", "501", "502", "502", "504", "504");
function selMG() {
var sel_mt = document.search.mt.selectedIndex-1;
// clear mg select
floorlength = document.search.mg.options.length
for (i = floorlength; i > 0; i--) {
document.search.mg.options[i] = null;
}
// create mg options
for (i = 1; i < floors[sel_mt].length; i=i+2) {
var opt = new Option(floors[sel_mt][i+1]);
opt.value = floors[sel_mt][i];
ind = document.search.mg.options.length
document.search.mg.options[ind] = opt;
}
// set selected mg
document.search.mg.options[1].selected=true;
}
</script>
<script LANGUAGE="JavaScript">
function room(){
var room=89;
//var room=document.search.mg.value;
};
</script>
<font color=#4689a2>Формы для поиска</font>
<form ACTION="floors.asp" METHOD="get" NAME="search" >
<div align="left"><font color=#4689a2>Корпус:</font> <p>
<select name="build" style="width:200px" value="100">
<option value="-1" selected>------------выберите-------------</option>
<option value="100"[build_100_select]> </option>
<option value="1" [build_1_select]>Главный корпус</option>
<option value="2" [build_2_select]>Учебный корпус №1</option>
<option value="3" [build_3_select]>Учебный корпус №6</option>
<option value="4" [build_4_select]>Учебный корпус №2</option>
<option value="5" [build_5_select]>Спорткомплекс</option>
<option value="6" [build_6_select]>Учебный корпус №7</option>
<option value="7" [build_7_select]>Учебный корпус №3</option>
<option value="8" [build_8_select]>Учебный корпус №5</option>
<option value="9" [build_9_select]>Учебный корпус №4</option>
<option value="10" [build_10_select]>Стадион</option>
<option value="11" [build_11_select]>Переход</option>
<option value="12" [build_12_select]>Учебный корпус №9</option>
</select>
</div>
<div align="left"><font color=#4689a2>Этаж:</font> <p>
<select NAME="mt" style="width:200px" class="f10a" onChange="selMG();">
<option VALUE="-1" selected>------------выберите-------------</option>
<option value=0>Полуподвальные помещения</option>
<option value=1>Первый этаж</option>
<option value=2>Второй этаж</option>
<option value=3>Третий этаж</option>
<option value=4>Четвертый этаж</option>
<option value=5>Пятый этаж</option>
</select>
</div>
<div align="left"><font color=#4689a2>Аудитория:</font> <p>
<select NAME="mg" style="width:200px" class="f10a">
<option VALUE="-1" selected>------------выберите------------</option>
<option VALUE></option>
<option VALUE></option>
<option VALUE></option>
<option VALUE></option>
<option VALUE></option>
<option VALUE></option>
<option VALUE></option>
</select>
</div>
</form>
<form name="mapserv" method="GET" action="/cgi-bin/mapserv.exe" encoding=CP1251>
<!---Скрытые CGI-переменные -->
<input type="hidden" name="map" value="[map]">
<input type="hidden" name="imgext" value="[mapext]">
<input type="hidden" name="imgxy" value="[center]">
<input type="hidden" name="mode" value="browse"></form>
<div align="center">
<input type="submit" name="submit" value="Найти"
onClick="room();" >
</div>
</div>
</td>
<td valign="top">
<div id="mep">
<div style="width:950px; height:600px;" id="map" align="left"></div>
<script src="D:\ms4w\apps\example\sait\Openlayers.js" defer="defer" type="text/javascript">
var bounds = new OpenLayers.Bounds(
// 48.05489804143945, 46.37459778237466,
// 48.060344115989466, 46.37774420521199
48.054, 46.3745, 48.0605, 46.3782
);
var options = {
maxExtent:bounds,
controls: [],
maxResolution: "auto",
projection: "EPSG:4326"};
var map = new OpenLayers.Map('map',options);
var grass = new OpenLayers.Layer.WMS(
"Зеленые насаждения",
"http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/example/sait/astu_id.map&service=WMS&",
{
height: '600px',
width: '870px',
layers: 'grass',
transparent: 'TRUE',
srs: 'EPSG:4326' },
{singleTile:true}
);
var buildings = new OpenLayers.Layer.WMS(
"Учебные корпуса",
"http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/example/sait/astu_id.map&service=WMS&",
{
height: '600',
width: '870',
layers: 'buildings',
transparent: 'TRUE',
srs: 'EPSG:4326' },
{singleTile:true}
);
grass.setIsBaseLayer(true);
map.addLayers([grass,buildings]);
map.addControl(new OpenLayers.Control.PanZoomBar({
position: new OpenLayers.Pixel(2, 15)
}));
map.addControl(new OpenLayers.Control.Navigation());
map.addControl(new OpenLayers.Control.Scale($('scale')));
map.addControl(new OpenLayers.Control.MousePosition({element: $('location')}));
map.addControl(new OpenLayers.Control.LayerSwitcher());
map.zoomToMaxExtent(bounds);
</script></div>
</td>
</tr>
</table>
</div>
</BODY>
</HTML>
Селекты и кнопка отображаются на странице, зависимые списки работают...а вот OL не пашет!