2012-01-10 46 views
3

我使用的OpenLayers一个地图网站,使用下面的代码,其进口量和显示GPX数据:OpenLayers是否可以解析存储为字符串变量的GPX数据?

var lgpx = new OpenLayers.Layer.GML(gpxtracktitle, gpxfileaddress, { 

    format: OpenLayers.Format.GPX, 

    style: {strokeColor: plmapvars.colourarray[i%7], strokeWidth: 5, strokeOpacity: 0.7}, 

    projection: new OpenLayers.Projection("EPSG:4326") 
}); 

map.addLayer(lgpx); 

我正在寻找一种方式来显示的,而不是被存储为文件GPX数据,被在javascript变量中保存为字符串:

var gpxstring ="<?xml ... </gpx>" 

我试过将字符串作为数据uri传入上面的代码,但没有成功。 OpenLayers能够以我试图做的方式从字符串中解析GPX吗?

在此先感谢您的帮助。

回答

4

也许还有一个更简单的方法,但在这里你去:

你已经知道了OpenLayers.format.GPX[docs]。它有一个read方法,它接受一个XML文档并返回一组特征。然后,您可以将这些功能添加到图层。

如何解析XML字符串,并创建一个XML文档中How to create and use a XML document object properly considering browser compatibility?

+0

谢谢你的建议说明。我已经按照链接中所述设置了XML解析,并且它正在成功生成一个XML对象。 OpenLayers方法没有特别好记录,所以这可能会让我花费更多的工作来让它运作,但我认为这种方法是可行的。 – 2012-01-10 14:39:53

相关问题