使用 Openlayers 3 和 Geoserver - 看不到内容
Working with Openlayers 3 and Geoserver - cannot see content
我正在尝试使用 Openlayers 3 显示两个图层,一个是格陵兰岛的地图,另一个是感兴趣的区域。两层都是平铺的。
它似乎在工作,但我得到的只是透明的图块,所以我以某种方式将视图放置在一个什么都没有的区域。我使用的是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 时效果很好。
所以我找到了解决办法。
首先,我从投影中删除了范围:
var utm24_projection = new ol.proj.Projection({
code: 'EPSG:32624',
units: 'm',
axisOrientation: 'neu'
});
然后在定义视图的时候,我只配置了投影,没有配置居中和缩放。
最后,我将视图调整为地图大小和边界:
map.getView().fit(bounds, map.getSize());
地图显示正确。
我正在尝试使用 Openlayers 3 显示两个图层,一个是格陵兰岛的地图,另一个是感兴趣的区域。两层都是平铺的。
它似乎在工作,但我得到的只是透明的图块,所以我以某种方式将视图放置在一个什么都没有的区域。我使用的是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 时效果很好。
所以我找到了解决办法。
首先,我从投影中删除了范围:
var utm24_projection = new ol.proj.Projection({
code: 'EPSG:32624',
units: 'm',
axisOrientation: 'neu'
});
然后在定义视图的时候,我只配置了投影,没有配置居中和缩放。
最后,我将视图调整为地图大小和边界:
map.getView().fit(bounds, map.getSize());
地图显示正确。