[OpenLayers-Dev] Layer.GML how to access the XML?
gwales
gary_wales at hotmail.com
Mon May 4 14:46:34 EDT 2009
Christopher Schmidt-2 wrote:
>
> On Mon, May 04, 2009 at 09:07:50AM -0700, gwales wrote:
>> Having followed an example, I have a GPX tracklog file loading nicely on
>> my
>> map. I would like to parse the XML and place a marker at each point on
>> the
>> route on a timer to effectively play back the route (like Google Earth
>> can
>> do).
>>
>> I need to access the XML to walk the route but am stumped. The original
>> XML
>> passed to OpenLayers.Layer.GML doesn't seem to be available to me and has
>> been converted to an SVG object.
>
> Why do you need the original XML? The Layer .features[0] has the
> linestring, and you can iterate over .geometry.components to get them
> out...
>
>> I can also see a linestring in the geometry property of features but I
>> just
>> cannot work out how to access it.
>
> It's unclear to me what you're having problems accessing. The Geometry
> is a
>
>
> http://dev.openlayers.org/apidocs/files/OpenLayers/Geometry/LineString-js.html
>
> which is a subclass of
>
>
> http://dev.openlayers.org/apidocs/files/OpenLayers/Geometry/Collection-js.html#OpenLayers.Geometry.Collection
>
> and has points as .components, which you can .clone() to make your own
> features, or access .x, .y of.
>
> --
> Christopher Schmidt
> MetaCarta
> _______________________________________________
> Dev mailing list
> Dev at openlayers.org
> http://openlayers.org/mailman/listinfo/dev
>
>
I could see from firebug that features[0].geometry was possibly the answer
to my issue but on trying to access features[0] i get 'undefined' and if try
to go deeper than that I get an error.
Code is:
// Add the Layer with GPX Track
var lgpx = new OpenLayers.Layer.GML("MMGPX",
"TrackLogs/MM_TL_1.gpx", {
format: OpenLayers.Format.GPX,
style: {strokeColor: "blue", strokeWidth: 5, strokeOpacity:
0.5},
projection: new OpenLayers.Projection("EPSG:4326")
});
map.addLayer(lgpx);
console.log(lgpx);
var featGeom=lgpx.features[0].geometry;
console.log(featGeom);
I am unsure what I am doing incorrectly in trying to access that linestring?
Gary
--
View this message in context: http://n2.nabble.com/Layer.GML-how-to-access-the-XML--tp2788029p2788792.html
Sent from the OpenLayers Dev mailing list archive at Nabble.com.
More information about the Dev
mailing list