[OpenLayers-Users] GetFeatureInfo returns attribute name
only(Mapserver & Openlayers)
simi
cserumola at yahoo.co.uk
Mon May 24 04:14:16 EDT 2010
I have been trying for a long time(since february 2010) to use GetFeatureInfo
to display the attributes of a clicked polygon feature . The map is
displayed in OpenLayers 2.8 which uses a mapserver 5.6.1 for the mapfile
whose data source is a shapefile. When i click on a polygon feature, i only
get the attribute name "[NAME]" (as it appears on the html body template
file) AND not the atrribute values. Please help.Here is the openlayers file
contents;
<html>
<head><title>OpenLayers project</title>
<style type="text/css">
#map {
width: 800px;
height: 600px;
border: 1px solid black;
}
</style>
<script src="http://openlayers.org/api/OpenLayers.js"></script>
<script type="text/javascript">
function init() {
var map = new OpenLayers.Map('map');
var dcs = new OpenLayers.Layer.WMS(
'Admin Districts',
'http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/cgi-bin/Districts2.map&',
{layers: 'Botswana_Admin_Districts'}
);
map.addLayer(dcs);
map.setCenter(new OpenLayers.LonLat(25,-24),6);
// Tie click event to WMS GetFeatureInfo call
map.events.register('click', map, function (e) {
var url =
"http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/cgi-bin/Districts2.map&"
+ "?REQUEST=GetFeatureInfo"
+ "&EXCEPTIONS=application/vnd.ogc.se_xml"
+ "&BBOX=" + map.getExtent().toBBOX()
+ "&X=" + e.xy.x
+ "&Y=" + e.xy.y
+ "&INFO_FORMAT=text/html"
+ "&QUERY_LAYERS=Botswana_Admin_Districts"
+ "&LAYERS=Botswana_Admin_Districts"
+ "&FEATURE_COUNT=5"
+ "&SRS=EPSG:4326"
+ "&STYLES="
+ "&WIDTH=" + map.size.w
+ "&HEIGHT=" + map.size.h;
window.open(url,
"GetFeatureInfo",
"location=0,status=0,scrollbars=1,width=600,height=150"
);
});
}
</script>
</head>
<body onload="init()">
<h2>OpenLayers Example</h2>
<div id='map'></div>
</body>
</html>
and the mapfile;
MAP
NAME "Districts2"
# Map image size
SIZE 400 400
UNITS dd
EXTENT 15.807570 -27.131403 33.564789 -17.550001
SHAPEPATH 'C:\ms4w\PSI_Shapefiles\'
#FONTSET './fonts/fonts.txt'
SYMBOLSET 'C:\ms4w\Apache\cgi-bin\Symbols.sym'
PROJECTION
'proj=longlat'
'ellps=WGS84'
'datum=WGS84'
'no_defs'
END
# Background color for the map canvas -- change as desired
IMAGECOLOR 255 255 255
IMAGEQUALITY 95
IMAGETYPE agg
OUTPUTFORMAT
NAME agg
DRIVER AGG/PNG
IMAGEMODE RGB
END
# Legend
LEGEND
IMAGECOLOR 255 255 255
STATUS ON
KEYSIZE 18 12
LABEL
TYPE BITMAP
SIZE MEDIUM
COLOR 0 0 89
END
END
# Web interface definition. Only the template parameter
# is required to display a map. See MapServer documentation
WEB
# Set IMAGEPATH to the path where MapServer should
# write its output.
IMAGEPATH 'C:\ms4w\tmp\'
# Set IMAGEURL to the url that points to IMAGEPATH
# as defined in your web server configuration
IMAGEURL '\tmp\'
# WMS server settings
METADATA
wms_title 'QGIS-MAP'
wms_onlineresource
'http://localhost/cgi-bin/mapserv.exe?map=C:/ms4w/Apache/cgi-bin/Districts2.map&'
wms_srs 'EPSG:4326'
wms_server_version '1.1.1'
wms_feature_info_mime_type 'text/html'
END
#Scale range at which web interface will operate
# Template and header/footer settings
# Only the template parameter is required to display a map. See
MapServer documentation
HEADER 'http://localhost/Header.html'
TEMPLATE 'http://localhost/Body.html'
FOOTER 'http://localhost/Footer.html'
END
LAYER
NAME 'Botswana_Admin_Districts'
TYPE POLYGON
TOLERANCE 10
TOLERANCEUNITS pixels
DUMP true
HEADER 'http://localhost/Header.html'
FOOTER 'http://localhost/Footer.html'
EXTENT 15.807570 -27.131403 33.564789 -17.550001
DATA Botswana_Admin_Districts
METADATA
wms_title 'Botswana_Admin_Districts'
wms_srs 'EPSG:4326'
gml_include_items 'NAME'
wms_include_items 'NAME'
wms_server_version '1.1.1'
wms_name 'Botswana_Admin_Districts'
wms_feature_info_mime_type 'text/html'
gml_featureid 'OBJECTID'
END
STATUS ON
TRANSPARENCY 100
PROJECTION
'proj=longlat'
'ellps=WGS84'
'datum=WGS84'
'no_defs'
END
CLASS
TEMPLATE 'http://localhost/Body.html'
OUTLINECOLOR "#C60F0F"
COLOR 50 50 50
END
END
END
The template files;
The header,
<!-- MapServer Template -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<!-- enforce the client to display result html as UTF-8 encoding -->
<meta http-equiv="content-type" content="text/html; charset=UTF-8"></meta>
<title>GetFeatureInfo example</title>
</head>
<body>
<table>
<tr>
<th>Name:</th>
</tr>
The body template file;
<!-- MapServer Template -->
<tr>
<td>[NAME]</td>
</tr>
and the Footer template file;
<!-- MapServer Template -->
</table>
</body>
</html>
--
View this message in context: http://osgeo-org.1803224.n2.nabble.com/GetFeatureInfo-returns-attribute-name-only-Mapserver-Openlayers-tp5092982p5092982.html
Sent from the OpenLayers Users mailing list archive at Nabble.com.
More information about the Users
mailing list