Yes. Thanks for the answer. This is an extract of the code.
puntigml = new OpenLayers.Layer.GML("Specimens",
"/gis/GeoLayer.gml",{projection: new OpenLayers.Projection("EPSG:4326")});
map.addLayer(puntigml);
select_feature_control =new OpenLayers.Control.SelectFeature(
puntigml,
{
multiple: false,
toggle: true,
multipleKey: 'shiftKey',
toggleKey: 'ctrlKey',
box: true
}
);
map.addControl(select_feature_control);
function selezione_elemento(event) {
//info record
var tipo=event.feature.attributes.type;// comment#1
var collect=event.feature.attributes.place.name; //comment#2
var famiglia=event.feature.attributes.family;
var specie=event.feature.attributes.species;
document.getElementById('tipo').innerHTML=tipo;
document.getElementById('collection').innerHTML=collect;
}
puntigml.events.register('featureselected', this, selezione_elemento);
This is an example of my gml file
<gml:featureMember>
<gml:Specimens>
<type>herbaria</type> // comment#1
<species>Quercus cerris L.</species>
<place>
<name>Valle di Copogna-Monte Lago</name> //comment #2
<town>Serravalle di Chienti</town>
<province>Macerata</province>
<region>Marche</region>
<country>Italia</country>
</place>
<ogr:geometryProperty>
<gml:Polygon srsName="EPSG:4326">
<gml:outerBoundaryIs>
<gml:LinearRing>
<gml:coordinates>12.916666749999999,43.100000000000001 13,43.100000000000001
13,43.149999999999999 12.916666749999999,43.149999999999999
12.916666749999999,43.100000000000001</gml:coordinates></gml:LinearRing>
</gml:outerBoundaryIs>
</gml:Polygon>
</ogr:geometryProperty>
</gml:Specimens>
</gml:featureMember>
When I try to access to a first order node like <type> or <species> the
selection function works (look comment #1) but when I try to access to a subtag
doesn't extract any information and the firebug result is
event.feature.place is undefined - var collect=event.feature.place.name;
Thanks again,
Francesco
________________________________
Da: Pierre Stévens <[email protected]>
A: Francesco Geri <[email protected]>
Inviato: Lunedì 16 Aprile 2012 16:12
Oggetto: Re: [OpenLayers-Users] gml and attributes
Hello,
"event.feature.field1.field2" is normally the right way to access to
attribute "field2".
1. Check if "field2" is correctly written.
2. It can be other thing
Can you give us the real lines (not with <field1><field2>...</field1>)?
It can help more.
Le lun 16 avr 2012 15:51:32 CEST, Francesco Geri a écrit :
> Hello,
> I have some problems whie I try to access to the attributes of gml
> file stored in subtag. Normally when I use the
> event.feature.attributes.field1 I can extract the attributes stored in
> the node "field1". But when I have a situation like this
>
> <field1>
> <field2>
> information
> </field2>
> </field1>
>
> How I can access to the field2 node? I try with
> event.feature.field1.field2 but I obtain an undefined value.
>
> thanks to all,
>
>
> Francesco
>
>
> _______________________________________________
> Users mailing list
> [email protected]
> http://lists.osgeo.org/mailman/listinfo/openlayers-users_______________________________________________
Users mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/openlayers-users