Добрый день!
Есть ли у кого-нибудь код как через Openlayers отобразить карту с Mapserver (OSGeo4W)?
Собственно имеется ссылка на WMS от mapserver. Как с помощью Openlayers отобразить это в браузере.
Помогите с кодом:
....
<script src="../lib/OpenLayers.js"></script>
<script type="text/javascript">
var map, layer1;
function init(){
var lon = 38;
var lat = 5;
var zoom = 5;
var options = {
projection: new OpenLayers.Projection("EPSG:900913"),
displayProjection: new OpenLayers.Projection("EPSG:4326"),
units: "m",
maxResolution: 156543.0339,
maxExtent: new OpenLayers.Bounds(-20037508.34, -20037508.34, 20037508.34, 20037508.34)
};
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',
transparent: 'TRUE',
layers: 'land',
type: 'png'
} );
map.addLayer(layer1);
// map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
map.addControl( new OpenLayers.Control.LayerSwitcher() );
}
</script>
</head>
<body onload="init()">
...............
Я не специалист в JAvaScript, поэтому сложновато сопоставить со своим кодом.
Идея такая есть ли в OSGeo4w некий аналог, как в Geoserver, где в ОpenLAyers можно смотреть слои которые публикуются.
Через QGIS добавляю ссылку типа http://osm/cgi-bin/mapserv.exe?MAP=C:/OSGeo4W/apps/maps/new.map&SERVICE=WMS - все работает а при попытки добавить в код Openlayers карта неотображается!
Пробовал настроить согласно этому, выдает ошибку maxExtent is null, т.е граница -20037508.34, -20037508.34, 20037508.34, 20037508.34 неопределяется как я понял
Как прикрутить прозрачный слой, который можно включать поверх основного? Сам слой есть, как его правильно подключить?
Сейчас так:
var layerBase = new OpenLayers.Layer.OSM("Base","tut-URL", {numZoomLevels: 18});
map.addLayer(layerBase);
var layerNatural = new OpenLayers.Layer.OSM("Natural","tut-URL", {numZoomLevels: 18, isBaseLayer: false, transparent: "true", visibility: true});
map.addLayer(layerNatural);
Вроде все ок, слой в переключателе есть, показывается, но при попытке прокрутить карту новые тайлы становятся красными. Если щелкнуть на “выключатель” в списке слоев - опять все хорошо становится, пока не подвигаешь карту.
UPD: со слоем все в порядке, в leaflet все хорошо отображается.