我有一个使用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?
提前感谢您的帮助。
答案 0 :(得分:4)
也许有一种更简单的方法,但是你走了:
您已经了解OpenLayers.format.GPX
[docs]。它有一个read
方法,它接受XML文档并返回一系列功能。然后,您可以将这些功能添加到图层。
How to create and use a XML document object properly considering browser compatibility?
中描述了如何解析XML字符串并创建XML文档