Das update sollte man wohl regelmäßig durchführen, es ist aber bei dir nicht vordringlich.
Meist sind Erweiterungen enthalten, die man anwenden könnte, selten ist der Programmcode anzupassen.
Von 3.17.1 nach 3.19.1 ist die Verwendbarkeit von Farben verbessert.
von 3. nach 4. hat sich erkennbar nur die Darstellung der Polregion geändert,
mit der angekündigten Version 5. (nach 4.6.4) ändert sich etwas bei der Compilierung.
Falls du dein Popup-Fenster unter dem Punkt anordnen willst:
in Zeile 133
‘placement’: ‘button’, statt ‘placement’: ‘top’,
Die mehrfachen Marker hatte ich unter #17 schon mal beschrieben.
Bisher nutzt du ein Feature, welches als einziges Element einer Liste übergeben wird.
features: [iconFeature],
Bei mehreren Markern erzeugt man eine leere Liste
var iconFeatures = [];
dann füllt man das erste Element hinein
var iconFeature = …
iconFeatures.push(iconFeature);
dann das zweite Element
iconFeature = …
iconFeatures.push(iconFeature);
usw. Dann übergibt man die Liste
features: iconFeatures,
Die Sache mit der Strecke:
Du kannst von jeder Strecke Anfangs- und Endpunkt mit einen Marker versehen.
Diese mit dem richtigen Stationsnamen zu versehen, erfordert mehr Aufwand.
Die Strecke wird in einer Liste von Koordinaten erfasst
[ [x0,y0],[x1,y1],[x2,y2],…,[xn,yn] ]
und bekommt einen Namen
“Suerhop nach Schneverdingen”
Du kannst auf die erste und die letzte Koordinate dieser Liste zugreifen.
Du kannst auch als dritte oder vierte Ausprägung die Zeit aufnehmen.
Üblicherweise werden bei track-Aufzeichnungen [x,y,z,M] genutzt mit z als Höhe und M als Aufzeichnungszeit.
Es geht auch [x,y,M] , zum Format von M muß ich mich nochmal Klug machen.
konkret im Programm (ohne Zeitangabe)
statt Zeile 41 bis 47 (var iconFeature =… bis var coordinates = …)
neu:
var i,iconFeature,iconFeatures=[],coordinates,nameLine;
coordinates = [[9.85551, 53.31578], [9.856, 53.315], [9.869, 53.284], [9.79875, 53.11124]];
nameLine = "Suerhop nach Schneverdingen";
i = 0;
iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform(coordinates[i], "EPSG:4326", "EPSG:3857")),
name: 'Start '+nameLine,
});
iconFeature.setStyle(iconStyle);
iconFeatures.push(iconFeature);
i = coordinates.length - 1;
iconFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.transform(coordinates[i], "EPSG:4326", "EPSG:3857")),
name: 'End '+nameLine,
});
iconFeature.setStyle(iconStyle);
iconFeatures.push(iconFeature);
alte Zeile 53 (name:nameLine) statt (name:‘Strecke’)
alte Zeile 66 (iconFeature.setStyle(iconStyle) raus
alte Zeile 101 aktivieren (iconFeatures)
alte Zeile 102 deaktivieren ([iconFeature])
Die Funktion var iconStyle = new ol.style.Style({…}); nach oben verschieben (vor Zeile 39)
Dann müßte die Kartenanzeige für eine Strecke ungefähr passen.
Guten Rutsch