opret dynamisk S-Togs kort

Tags:    javascript html html5 css3

Hej allesammen

Jeg kunne godt tænke mig af vide om man kan lave en figur lidt ligesom S-togs kortet på togstationerne, men istedet for togstationer skal de udskiftes med min egen data.

Se et eksempel på s-togs kort her

Mit spørgsmål er altså at jeg gerne vil oprette en struktur ligesom s-togs kortet, hvor jeg har nogle snoede linjer, og herefter en prik, med en lille tekst nogle vilkårlige steder på disse linjer, hvor teksten ved de enkelte linjer er nogle ting jeg henter via JSON.

Er det en svær opgave at lave med javascript og CSS, og hvordan kommer jeg i gang med dette?? nogle der har nogle gode guides eller eksempler på noget lignende, er det meget værdsat.

Med Venlig Hilsen
Martin Rohwedder



5 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 15 karma
Sorter efter stemmer Sorter efter dato
Du kan tage et kig på raphael.js

Der er en der har lavet et kort over Londons metro ved hjælp af det, det må være noget ala det du søger, du kan finde en demo her



Tjaa, det kan vel laves i html5 canvas med dertilhørende js.. er det en mulighed?

Er selve linjerne statiske, men "stationerne"/prikkerne dynamiske? Eller er linjerne også dynamiske?

Anyway, skulle jeg lave det fra bunden i web, ville jeg klart tage udgangspunkt i canvas.



Nej, det burde ikke være slemt.

Jeg forstår ikke helt hvorfor Kristian forslår Canvas, da jeg klart ville foretrække SVG til denne opgave. SVG har en masse gode rendering libraries, såsom d3.js og raphael.js. Du kan også kigge på leaflet.js der ville lave et "rigtigt" kort ud af din data. Ud over dette skal du ikke selv ligge og rode med at finde ud af hvilket element brugeren har klikket - det ligger allerede indbygget i DOM'en (med addEventListener)

Det lyder som om d3.js - "Data-driven documents" er lige hvad du søger, og der er masser af gode tutorials på nettet (og på deres hjemmeside).

Kortet (dvs. linjerne) ville jeg lave som en SVG struktur, altså fx en <path> for hver linje. Der findes jo gode projektions algoritmer til at projicere et punkt over på en linje. Men hvis du altid har statiske punkter, kan du vel også bare lave en (konstant) tabel over disse punkter (altså stationerne)



Indlæg senest redigeret d. 04.10.2013 13:26 af Bruger #11328
@Jakob

SVG er også en udemærket mulighed, og der er flere libraries dertil som du nævner (som jeg ikke selv er bekendt med).

Jeg nævner canvas, fordi det for mange er mere simpelt at arbejde med end vectorer. Men klart, hvis man har mod på at implementerer det i SVG, så har man også en mere skalerbar løsning. Dog ved jeg ikke, om Martin's behov kræver at det er vectorer.

Løsningen kan laves i begge dele, og jeg vil da forestille mig, at der også er js libraries til canvas.



tak for hjælpen, jeg kigger lidt på det :)



t