Пытаюсь отобразить слои из WMS-OSGeo4w в Openlayers c помощью функции.
Код: Выделить всё
function init(){
var options = {
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
maxResolution: "auto",
numZoomLevels: 19,
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34),
displayProjection: new OpenLayers.Projection("EPSG:4326")
};
map = new OpenLayers.Map( 'map', options );
layer1 = new OpenLayers.Layer.WMS(
"World Map",
"http://osm/cgi-bin/mapserv.exe?map=C:/OSGeo4W/apps/maps/new.map&",
{
layers: "ocean,land",
type: "png"},
{'reproject': true}
);
map.addLayer(layer1);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
Слои- подложки океана и земель отображаются.
Сервер OSGeo4W установлен локально и выгружает данные из бд PostgreSQL\Postgis.
Запросы делаю через map-файл.
Буду оч признателен , если просветите по Нескольким вопросам:
1) Как убрать и можно ли вообще убрать надпись копирайта у каждого тайла? 2)в map-файле описано более 20 слоев(дороги, города, леса и тд) как мне их отобразить? (в QGIS отображаются нормально). Нужно ли описывать доп new OpenLayers.Layer.WMS или можно просто перечислить через запятую? Как это влияет на производительность?
3) Описанные в map-файле слои, с типом отличным от Poligon (Line,Annotation), не отображаются : что это за ошибка и какие параметры нужны?
Спасибо заранее всем откликнувшимся