Каждый trk в моем файле gpx содержит
<extensions
<gpxx:TrackExtension>
<gpxx:DisplayColor>Red</gpxx:DisplayColor>
</gpxx:TrackExtension>
</extensions>
с различными значениями для gpxx: DisplayColor.Я хочу показать каждый трек цветом, указанным в файле gpx.Следовательно, мне нужно получить цвет из (xml in) файла gpx в стиль дорожки.
Я пытался
var trackColor = "black";
var gpx = new ol.source.Vector({
format: new ol.format.GPX({
readExtensions:
function(feat, node)
{
var i, y;
y = node.childNodes;
for (i=0; i < y.length; i++)
{
if (y[i].nodeName == "gpxx:TrackExtension")
{
trackColor = y[i].textContent;
}
}
}
})
});
Это похоже на пометку, поскольку он используетцикл и не ссылается на DisplayColor.
var track = new ol.layer.Vector({
source: gpx,
style: new ol.style.Style({
stroke: new ol.style.Stroke({
color: trackColor,
width: 3
})
})
});
Три элемента trk имеют DisplayColors Red, DarkMagenta и Green, но все они показаны черным.