WMS+OpenLayers+Mapserver

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

WMS+OpenLayers+Mapserver

Сообщение Silentium »

Доброго дня и ночи!
У меня такой вопрос: Допустим у меня есть WMS ссылка в mapserver (OSGeo4W) на map-файл типа:
http://osm/cgi-bin/mapserv.exe?MAP=C:/O ... ERVICE=WMS
Через которую я открываю WMS-слои в QGIS.
Как мне перенести это в OpenLayers и какие параметры нужно указать?
P>S Проекция Google Mercator и в map файле идет обращение к бд POstGIS.
если не сложно помогите разобраться почему не работает данный код:

Код: Выделить всё

 <script src="../lib/OpenLayers.js"></script>
    <script type="text/javascript">
        var lon = 5;
        var lat = 40;
        var zoom = 5;
        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()">
Последний раз редактировалось Silentium 25 сен 2012, 09:21, всего редактировалось 2 раза.
Аватара пользователя
Mavka
Гуру
Сообщения: 2060
Зарегистрирован: 14 мар 2008, 17:36
Репутация: 9

Re: WMS+OpenLayers+Mapserver

Сообщение Mavka »

Что сказал отладчик?
лангольеры под окном жрали время ом-ном-ном
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

Re: WMS+OpenLayers+Mapserver

Сообщение Silentium »

Ругается на
maxExtent is null
Map.js (строка 1823) :

Код: Выделить всё

valid = maxExtent.containsLonLat(lonlat);
При попытке сдвинуть невидимую карту выдает ошибку
centerPx is null
Map.js(строка 1510)

Код: Выделить всё

var newCenterPx = centerPx.add(dx, dy); 
Ругается явно на неправильные данные для этой строки кода:

Код: Выделить всё

map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
Please Help!!!
Silentium
Активный участник
Сообщения: 114
Зарегистрирован: 20 апр 2010, 17:33
Репутация: 0

Re: WMS+OpenLayers+Mapserver

Сообщение Silentium »

После танцев с бубном, ошибка maxExtent is null пропала при загрузке страницы, но карта так и не появилась. + осталась ошибка с centerPx is null при перемещении карты
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 3 гостя