我有一个使用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?
提前感谢您的帮助。
也许有一个更简单的方法,但现在开始:
您已经了解OpenLayers.format.GPX
[docs]。它有一个read
方法,它接受一个XML文档并返回一组特性。然后可以将这些特征添加到图层中。
如何在考虑浏览器兼容性的情况下正确创建和使用XML文档对象中描述了如何解析XML字符串并创建XML文档?