Слой OpenLayers 3 WMS — неуместные плитки в проекции EPSG: 2180

Я пытаюсь отобразить карту Польши с помощью OpenLayers 3. Мне нужно, чтобы она была в проекции EPSG: 2180. Все в порядке, пока я не переключу проекцию.

Это отлично работает:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://openlayers.org/en/v3.7.0/build/ol.js" type="text/javascript"></script>
<script src="proj4js/proj4-src.js" type="text/javascript"></script>
<script>

proj4.defs('EPSG:2180', "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs");

function init()
{
    var p = ol.proj.get('EPSG:3857');

    var mapTiles = new ol.Map({
        target: 'map',
        renderer: 'canvas',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.TileWMS({
                    url: 'http://mapy.geoportal.gov.pl/wss/service/img/guest/ORTO/MapServer/WMSServer',
                    params: {
                        'LAYERS': 'Raster'
                    }
                }),
                isBaseLayer: true,
                projection: p
            })
        ],

        view: new ol.View({
            center: ol.proj.transform([19, 52], 'EPSG:4326', 'EPSG:3857'),
            zoom: 6,
            projection: p
        })
    });
}

</script>
</head>
<body onload="init()">
    <div id="map"></div>
</body>
</html>

Когда я переключаю проекцию на EPSG: 2180 плитки неуместны.

Код с EPSG:2180

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>test</title>
<script src="http://openlayers.org/en/v3.7.0/build/ol.js" type="text/javascript"></script>
<script src="proj4js/proj4-src.js" type="text/javascript"></script>
<script>

proj4.defs('EPSG:2180', "+proj=tmerc +lat_0=0 +lon_0=19 +k=0.9993 +x_0=500000 +y_0=-5300000 +ellps=GRS80 +units=m +no_defs");

function init()
{
    var p = ol.proj.get('EPSG:2180');

    var mapTiles = new ol.Map({
        target: 'map',
        renderer: 'canvas',
        layers: [
            new ol.layer.Tile({
                source: new ol.source.TileWMS({
                    url: 'http://mapy.geoportal.gov.pl/wss/service/img/guest/ORTO/MapServer/WMSServer',
                    params: {
                        'LAYERS': 'Raster',
                        'CRS': 'EPSG:2180'
                    }
                }),
                isBaseLayer: true,
                projection: p
            })
        ],

        view: new ol.View({
            center: ol.proj.transform([19, 52], 'EPSG:4326', 'EPSG:2180'),
            zoom: 6,
            projection: p
        })
    });
}

</script>
</head>
<body onload="init()">
    <div id="map"></div>
</body>
</html>

Есть идеи, в чем проблема?

https://jsfiddle.net/b2L6qppd/


person Andrzej S.    schedule 22.07.2015    source источник


Ответы (1)


Я добавил один элемент - он предотвращает проблему с осями.

            params: {
                'LAYERS': 'Raster',
                'CRS': 'EPSG:2180',
                'VERSION': '1.1.1'
            }

попробуйте следующее: jsfiddle.net/b2L6qppd/2/

person Jakub Bobrowski    schedule 28.10.2015