2016-03-11 2 views
0

Я пытаюсь отобразить два слоя с помощью Openlayers 3, один из них - карта Гренландии, а другая - область интересов. Оба слоя черепичные.Работа с Openlayers 3 и Geoserver - не отображается содержимое

Кажется, что это работает, но все, что я получаю, это прозрачные плитки, поэтому каким-то образом я помещаю вид в область, где ничего нет. Я использую проекцию UTM 24 N (которая является исходной проекцией соответствующих слоев, поэтому преобразование не требуется).

Вот мой код:

var utm24_projection = new ol.proj.Projection({ 
     code: 'EPSG:32624', 
     extent: [-396882, 6394710, 1280839.6, 9750153.2], 
     units: 'm', 
     axisOrientation: 'neu' 
}); 

ol.proj.addProjection(utm24_projection); 


layer1 = new ol.layer.Tile({ 
     source: new ol.source.TileWMS({ 
     url: 'http://www.ourmapserver.gl/geoserver/wms', 
     params: {'LAYERS': 'ourcompany:greenland', 'TILED': true}, 
     serverType: 'geoserver', 
     }) 
    }); 

    layer2 = new ol.layer.Tile({ 
     //extent: [-13884991, 2870341, -7455066, 6338219], 
     source: new ol.source.TileWMS({ 
     url: 'http://www.ourmapserver.gl/geoserver/wms', 
     params: {'LAYERS': 'ourcompany:interestarea', 'TILED': true}, 
     //projection = ol.proj.get('EPSG:32624'); 
     serverType: 'geoserver' 
     }) 
    }); 

    var layers = [ 
    layer1, 
    layer2 
    ]; 
    var map = new ol.Map({ 
    layers: layers, 
    target: 'map', 
    view: new ol.View({ 
     projection: utm24_projection, 
     center: [-48864, 7491452], 
     zoom: 4 
    }) 
    }); 

Он работал отлично при использовании Web Mercator.

ответ

1

Итак, я нашел решение.

Прежде всего, я извлекал степени от моей проекции:

var utm24_projection = new ol.proj.Projection({ 
     code: 'EPSG:32624', 
     units: 'm', 
     axisOrientation: 'neu' 
    }); 

Тогда при определении точки зрения, я только настроить проекцию, но нет центра или увеличения.

Наконец, я регулирую вид на размер карты и границ:

map.getView().fit(bounds, map.getSize()); 

Карта который отображается правильно.

Смежные вопросы