При отображении карты с большим количеством слоёв и запросом атрибутов точечных данных (используя GeoExt.popup и WMSGetFeatureInfo), popup появляется только на первом отображаемом слое (любой первый выбранный), причем пустой, без необходимой информации. При выборе остальных - не появляется даже пустой popup.
Код следующий:
Код: Выделить всё
<script type="text/javascript">
Ext.onReady(function() {
var map = new OpenLayers.Map();
var googlemapsatellite = new OpenLayers.Layer.Google(
"Google Satellite",
{type: G_SATELLITE_MAP}
);
googlemapsatellite.setIsBaseLayer(true);
map.addLayer(googlemapsatellite);
var layers = [
new OpenLayers.Layer.WMS("слой 1",
"мой_первый_слой",
{
layers: "мой_первый_слой",
transparent: true
},
{reproject: true},
{
isBaseLayer: false,
buffer: 0
}),
new OpenLayers.Layer.WMS("слой 2",
"мой_второй_слой",
{
transparent: "TRUE",
layers: "мой_второй_слой",
},
{reproject: true},
{
isBaseLayer: false,
buffer: 0
}
)
];
var mappanel = new GeoExt.MapPanel({
renderTo: 'gxmap',
height: 600,
width: 750,
map: map,
title: 'Basic Map',
center: [-7.92114,42.90816],
zoom: 8,
layers: layers
});
var tree = new Ext.tree.TreePanel({
renderTo: 'layers',
border: true,
region: "west",
title: "Layers",
height: 600,
width: 250,
root: {},
rootVisible: false,
enableDD: true
});
tree.render(document.body);
var node = new GeoExt.tree.BaseLayerContainer({
text: "Base Layers"
});
tree.root.appendChild(node);
var node = new GeoExt.tree.OverlayLayerContainer({
text: "Overlay Layers",
expanded: true
});
tree.root.appendChild(node);
node.eachChild(function(child) {
child.ui.toggleCheck(false);
}
);
var legendPanel = new GeoExt.LegendPanel({
title: "Legend",
renderTo: "legend",
defaults: {
style: 'padding:5px'
},
width: 250,
height: 600,
border: true,
bodyStyle: 'padding:5px'
});
legendPanel.render(document.body);
map.addControl(
new OpenLayers.Control.WMSGetFeatureInfo({
autoActivate: true,
infoFormat: 'text/plain',
maxFeatures: 1000,
layers: layers,
queryVisible: true,
eventListeners: {
'getfeatureinfo': function(e) {
new GeoExt.Popup({
title: "Attributes",
width: 200,
height: 200,
map: map,
location: e.xy,
}).show();
}
}
}));
});
Почему так происходит?
Если кто-то сталкивался с подобной проблемой, подскажите решение, пожалуйста.