Проблема всё таже, не могу получить данные из WMS слоя (Mapserver) в Openlayers. Сама база в Postgre.
все делал как описано выше, однако результат нулевой
Код: Выделить всё
var info = new OpenLayers.Control.WMSGetFeatureInfo({
url: 'http://localhost/cgi-bin/mapserv.exe?map=/ms4w/apps/kirov/City.map&',
title: 'citykirov',
queryVisible: true,
INFO_FORMAT: 'application/vnd.ogc.gml',
eventListeners: {
getfeatureinfo: function(event) {
map.addPopup(new OpenLayers.Popup.FramedCloud(
"citykirov",
map.getLonLatFromPixel(event.xy),
null,
[event.features.length],
null,
true
));
}
}
});
map.addControl(info);
info.activate();
map файл:
Код: Выделить всё
# WMS server settings
METADATA
wms_title "CityKirov"
wms_onlineresource "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/apps/kirov/City.map&"
wms_srs "EPSG:4326"
wms_getfeatureinfo "http://localhost/cgi-bin/mapserv.exe?map=c:/ms4w/apps/kirov/City.map&"
wms_featureinfoformat "gml"
END
END
LAYER
NAME 'citykirov'
TYPE POLYGON
CONNECTIONTYPE postgis
CONNECTION "dbname='postgis' host=localhost port=5432 user='postgres' password='1'"
DATA "the_geom FROM (select * from citykirov order by layer) as city using unique gid using srid=4326"
METADATA
"wms_title" "citykirov"
"gml_include_items" "all" ## Optional (serves all attributes for layer)
END
DUMP TRUE
STATUS DEFAULT
TRANSPARENCY 100
PROJECTION
"proj=longlat"
"ellps=WGS84"
"datum=WGS84"
"no_defs"
""
END
CLASS
NAME "citykirov"
STYLE
SYMBOL 0
SIZE 12
OUTLINECOLOR 0 0 0
COLOR [Color]
END
END
END
результат: e.features.length =0, как я понял, дожен быть !=0 , как вывести значения поля id? В чем ошибка?