OpenLayers可以解析在javascript变量中存储为字符串的GPX数据吗?

时间:2012-01-10 09:05:05

标签: 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?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

也许有一种更简单的方法,但是你走了:

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

How to create and use a XML document object properly considering browser compatibility?

中描述了如何解析XML字符串并创建XML文档