-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
99 lines (69 loc) · 2.64 KB
/
main.js
File metadata and controls
99 lines (69 loc) · 2.64 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
function getSpeedColour(speed) {
if (speed == -2) {
return 'white'
}
if (speed >= 120) {return 'darkred'
} else if (speed >= 110) {return 'red'
} else if (speed >= 100) {return 'orange'
} else if (speed >= 90) {return 'olive'
} else if (speed >= 80) {return 'lime'
} else if (speed >= 70) {return 'green'
} else if (speed >= 60) {return 'royalblue'
} else if (speed >= 50) {return 'blue'
} else if (speed >= 40) {return 'navy'
} else if (speed >= 30) {return 'purple'
} else if (speed >= 20) {
return 'gray'
} else {
return 'black'
}
}
var files = ["vancouver.json","victoria.json"]
var totalways = 0
var map = L.map('map').setView([49.3,-123.1], 12);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 19,
attribution: '© <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a>'
}).addTo(map);
files.forEach(file => {
fetch("/apps/speed/data/"+file).then(function(r) {
r.text().then(function(t) {
var items = JSON.parse(t)
items.forEach(element => {
totalways += 1;
var pointList = [];
var currentName = element.name
var maxSpeed = element.speed
element.nodes.forEach(node => {
pointList.push(new L.LatLng(node[0],node[1]))
});
var firstpolyline = new L.polyline(pointList, {
color: getSpeedColour(maxSpeed),
weight: 5,
opacity: 1,
smoothFactor: 1
});
var overtop;
if (element.conditional_speed != -1) {
overtop = new L.polyline(pointList, {
color: getSpeedColour(element.conditional_speed),
weight: 3,
opacity: 1,
smoothFactor: 1
})
firstpolyline.bindPopup(currentName + " " + maxSpeed + " km/h\n Conditional Speed: " + element.conditional_speed + " km/h")
overtop.bindPopup(currentName + " " + maxSpeed + " km/h\n Conditional Speed: " + element.conditional_speed + " km/h")
} else {
firstpolyline.bindPopup(currentName + " " + maxSpeed + " km/h")
}
firstpolyline.addTo(map)
if (overtop != undefined) {
overtop.addTo(map)
}
});
document.getElementById("info").innerHTML = `${totalways} ways`
})
})
});
function showlegend() {
}