我正在尝试使用 getFeatureInfo 访问从地理服务器调用的数组中的图层,打开属性表。这应该是通过我按照指示添加的代理来完成的。该地图正在运行,但是一旦我添加了单击功能,地理服务器地图就会消失。谷歌搜索了几天,仍然无法解决这个问题,任何帮助将不胜感激,谢谢。
var layers = [];
layers[0] = new ol.layer.Tile({
source: new ol.source.TileWMS({
url: 'http://localhost:8080/geoserver/An2/wms',
params: { LAYERS: 'A2', VERSION: '1.1.0' },
servertype: 'geoserver'
})
});
layers[1] = new ol.layer.Tile({
source: new ol.source.OSM()
});
layers[2] = new ol.layer.Tile({
source: new ol.source.OSM()
});
var map = new ol.Map({
target: 'map',
layers: layers,
view: new ol.View({
center: ol.proj.fromLonLat([13, 56]),
zoom: 8,
EPSG: 4326,
})
});
function switchLayer(evt) {
layers[evt.value].setVisible(evt.checked);
}
map.on('singleclick', function (event) {
var url = '../../proxy/proxy.aspx?url=' + layers[0].getsource().getFeatureInfoUrl
(event.coordinate,
map.getView().getResolution(), map.getView().getProjection().getCode(),
{
INFO_FORMAT: 'text/html',
Layers: "A2"
});
if (url) {
document.getElementById('info').innerHTML =
'<iframe seamless src="' + url + '"></iframe>' }
});