diff --git a/.vscode/settings.json b/.vscode/settings.json
index 27609ebf..fbb6d56c 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -12,6 +12,7 @@
"paren",
"plusplus",
"popperjs",
+ "rotatedmarker",
"sonarjs",
"wvdp",
"youtu.be",
diff --git a/package-lock.json b/package-lock.json
index 92326ea6..89a8df1e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -30,6 +30,7 @@
"@parcel/transformer-inline-string": "^2.10.3",
"@parcel/transformer-sass": "^2.10.3",
"@types/leaflet": "^1.9.8",
+ "@types/leaflet-rotatedmarker": "^0.2.5",
"@types/lodash.chunk": "^4.2.9",
"@types/lodash.set": "^4.3.9",
"@types/node": "^20.9.2",
@@ -2466,6 +2467,15 @@
"@types/geojson": "*"
}
},
+ "node_modules/@types/leaflet-rotatedmarker": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/@types/leaflet-rotatedmarker/-/leaflet-rotatedmarker-0.2.5.tgz",
+ "integrity": "sha512-GaKK1bdQ6NYGkVdZj2cHe8Eu1BVf40Jhtmd8pZj5gQSJcTy5iTog0hsMIhf6QQDKnaEgrRJzm4OES6B9vxi4dw==",
+ "dev": true,
+ "dependencies": {
+ "@types/leaflet": "*"
+ }
+ },
"node_modules/@types/lodash": {
"version": "4.14.200",
"resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.200.tgz",
diff --git a/src/static/camera.svg b/src/static/camera.svg
index 79afdfd6..4e7589ec 100644
--- a/src/static/camera.svg
+++ b/src/static/camera.svg
@@ -1,28 +1,94 @@
-
- Camera Icon
-
+ Camera Icon
+
+
+
+
+
+ image/svg+xml
+
+ Camera Icon
+
+ 05/02/2019
+
+
+ Waffle552
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+ id="rect4136"
+ style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.860519;stroke-opacity:1" />
+
+
+
+
diff --git a/utils/collect.ts b/utils/collect.ts
index 6e658803..7575e2c3 100644
--- a/utils/collect.ts
+++ b/utils/collect.ts
@@ -139,14 +139,17 @@ const queryNominatim = async (lat: number, lon: number): Promise Number(d))
+ .find((d) => !Number.isNaN(d));
+
webcams.push({
lat: r.lat,
lon: r.lon,
- direction: Number.isNaN(direction) ? undefined : direction,
+ direction: direction,
osmID: r.id,
user: r.user,