diff --git a/img/markers/balloon-adafruit.png b/img/markers/balloon-adafruit.png
deleted file mode 100644
index 4c715f2..0000000
Binary files a/img/markers/balloon-adafruit.png and /dev/null differ
diff --git a/img/markers/balloon-blue.png b/img/markers/balloon-blue.png
deleted file mode 100644
index 9888487..0000000
Binary files a/img/markers/balloon-blue.png and /dev/null differ
diff --git a/img/markers/balloon-buzz.png b/img/markers/balloon-buzz.png
deleted file mode 100644
index 17097b5..0000000
Binary files a/img/markers/balloon-buzz.png and /dev/null differ
diff --git a/img/markers/balloon-cyan.png b/img/markers/balloon-cyan.png
deleted file mode 100644
index 9eae707..0000000
Binary files a/img/markers/balloon-cyan.png and /dev/null differ
diff --git a/img/markers/balloon-green.png b/img/markers/balloon-green.png
deleted file mode 100644
index 126a0b0..0000000
Binary files a/img/markers/balloon-green.png and /dev/null differ
diff --git a/img/markers/balloon-invisible.png b/img/markers/balloon-invisible.png
deleted file mode 100644
index 19464e9..0000000
Binary files a/img/markers/balloon-invisible.png and /dev/null differ
diff --git a/img/markers/balloon-iss.png b/img/markers/balloon-iss.png
deleted file mode 100644
index 23d2a49..0000000
Binary files a/img/markers/balloon-iss.png and /dev/null differ
diff --git a/img/markers/balloon-orange.png b/img/markers/balloon-orange.png
deleted file mode 100644
index b0c5d09..0000000
Binary files a/img/markers/balloon-orange.png and /dev/null differ
diff --git a/img/markers/balloon-purple.png b/img/markers/balloon-purple.png
deleted file mode 100644
index e129b1c..0000000
Binary files a/img/markers/balloon-purple.png and /dev/null differ
diff --git a/img/markers/balloon-red.png b/img/markers/balloon-red.png
deleted file mode 100644
index f079bfe..0000000
Binary files a/img/markers/balloon-red.png and /dev/null differ
diff --git a/img/markers/balloon-rob.png b/img/markers/balloon-rob.png
deleted file mode 100644
index 819a558..0000000
Binary files a/img/markers/balloon-rob.png and /dev/null differ
diff --git a/img/markers/balloon-rpi.png b/img/markers/balloon-rpi.png
deleted file mode 100644
index c340631..0000000
Binary files a/img/markers/balloon-rpi.png and /dev/null differ
diff --git a/img/markers/balloon-shockpink.png b/img/markers/balloon-shockpink.png
deleted file mode 100644
index 49ad112..0000000
Binary files a/img/markers/balloon-shockpink.png and /dev/null differ
diff --git a/img/markers/balloon-thereg.png b/img/markers/balloon-thereg.png
deleted file mode 100644
index f26068f..0000000
Binary files a/img/markers/balloon-thereg.png and /dev/null differ
diff --git a/img/markers/balloon-yellow.png b/img/markers/balloon-yellow.png
deleted file mode 100644
index 66fc042..0000000
Binary files a/img/markers/balloon-yellow.png and /dev/null differ
diff --git a/img/markers/balloon.svg b/img/markers/balloon.svg
new file mode 100755
index 0000000..8032660
--- /dev/null
+++ b/img/markers/balloon.svg
@@ -0,0 +1,55 @@
+
\ No newline at end of file
diff --git a/img/markers/car-blue.png b/img/markers/car-blue.png
deleted file mode 100644
index 09192f0..0000000
Binary files a/img/markers/car-blue.png and /dev/null differ
diff --git a/img/markers/car-green.png b/img/markers/car-green.png
deleted file mode 100644
index c42da50..0000000
Binary files a/img/markers/car-green.png and /dev/null differ
diff --git a/img/markers/car-purple.png b/img/markers/car-purple.png
deleted file mode 100644
index a281513..0000000
Binary files a/img/markers/car-purple.png and /dev/null differ
diff --git a/img/markers/car-red.png b/img/markers/car-red.png
deleted file mode 100644
index ce44c92..0000000
Binary files a/img/markers/car-red.png and /dev/null differ
diff --git a/img/markers/car-teal.png b/img/markers/car-teal.png
deleted file mode 100644
index f0e6fe8..0000000
Binary files a/img/markers/car-teal.png and /dev/null differ
diff --git a/img/markers/car-yellow.png b/img/markers/car-yellow.png
deleted file mode 100644
index 5c35476..0000000
Binary files a/img/markers/car-yellow.png and /dev/null differ
diff --git a/img/markers/car.svg b/img/markers/car.svg
new file mode 100644
index 0000000..c277ce8
--- /dev/null
+++ b/img/markers/car.svg
@@ -0,0 +1,88 @@
+
\ No newline at end of file
diff --git a/img/markers/parachute-blue.png b/img/markers/parachute-blue.png
deleted file mode 100644
index ff4dc5d..0000000
Binary files a/img/markers/parachute-blue.png and /dev/null differ
diff --git a/img/markers/parachute-cyan.png b/img/markers/parachute-cyan.png
deleted file mode 100644
index bf83a49..0000000
Binary files a/img/markers/parachute-cyan.png and /dev/null differ
diff --git a/img/markers/parachute-green.png b/img/markers/parachute-green.png
deleted file mode 100644
index f41d7e1..0000000
Binary files a/img/markers/parachute-green.png and /dev/null differ
diff --git a/img/markers/parachute-orange.png b/img/markers/parachute-orange.png
deleted file mode 100644
index e3f2d16..0000000
Binary files a/img/markers/parachute-orange.png and /dev/null differ
diff --git a/img/markers/parachute-purple.png b/img/markers/parachute-purple.png
deleted file mode 100644
index adae959..0000000
Binary files a/img/markers/parachute-purple.png and /dev/null differ
diff --git a/img/markers/parachute-red.png b/img/markers/parachute-red.png
deleted file mode 100644
index 603c60f..0000000
Binary files a/img/markers/parachute-red.png and /dev/null differ
diff --git a/img/markers/parachute-rpi.png b/img/markers/parachute-rpi.png
deleted file mode 100644
index ad421b6..0000000
Binary files a/img/markers/parachute-rpi.png and /dev/null differ
diff --git a/img/markers/parachute-yellow.png b/img/markers/parachute-yellow.png
deleted file mode 100644
index 4d85a51..0000000
Binary files a/img/markers/parachute-yellow.png and /dev/null differ
diff --git a/img/markers/parachute.svg b/img/markers/parachute.svg
new file mode 100644
index 0000000..b50c6bd
--- /dev/null
+++ b/img/markers/parachute.svg
@@ -0,0 +1,75 @@
+
\ No newline at end of file
diff --git a/img/markers/payload-blue.png b/img/markers/payload-blue.png
deleted file mode 100644
index c03caee..0000000
Binary files a/img/markers/payload-blue.png and /dev/null differ
diff --git a/img/markers/payload-cyan.png b/img/markers/payload-cyan.png
deleted file mode 100644
index 226bfa8..0000000
Binary files a/img/markers/payload-cyan.png and /dev/null differ
diff --git a/img/markers/payload-green.png b/img/markers/payload-green.png
deleted file mode 100644
index f524a73..0000000
Binary files a/img/markers/payload-green.png and /dev/null differ
diff --git a/img/markers/payload-orange.png b/img/markers/payload-orange.png
deleted file mode 100644
index 20e5b05..0000000
Binary files a/img/markers/payload-orange.png and /dev/null differ
diff --git a/img/markers/payload-purple.png b/img/markers/payload-purple.png
deleted file mode 100644
index 80e1e1a..0000000
Binary files a/img/markers/payload-purple.png and /dev/null differ
diff --git a/img/markers/payload-red.png b/img/markers/payload-red.png
deleted file mode 100644
index 7ad8acc..0000000
Binary files a/img/markers/payload-red.png and /dev/null differ
diff --git a/img/markers/payload-rpi.png b/img/markers/payload-rpi.png
deleted file mode 100644
index 9f533fb..0000000
Binary files a/img/markers/payload-rpi.png and /dev/null differ
diff --git a/img/markers/payload-yellow.png b/img/markers/payload-yellow.png
deleted file mode 100644
index e9b7bb5..0000000
Binary files a/img/markers/payload-yellow.png and /dev/null differ
diff --git a/img/markers/payload.svg b/img/markers/payload.svg
new file mode 100644
index 0000000..b89d7d6
--- /dev/null
+++ b/img/markers/payload.svg
@@ -0,0 +1,36 @@
+
\ No newline at end of file
diff --git a/img/markers/target-blue.png b/img/markers/target-blue.png
deleted file mode 100644
index fae5796..0000000
Binary files a/img/markers/target-blue.png and /dev/null differ
diff --git a/img/markers/target-cyan.png b/img/markers/target-cyan.png
deleted file mode 100644
index ba30743..0000000
Binary files a/img/markers/target-cyan.png and /dev/null differ
diff --git a/img/markers/target-green.png b/img/markers/target-green.png
deleted file mode 100644
index 56b4682..0000000
Binary files a/img/markers/target-green.png and /dev/null differ
diff --git a/img/markers/target-orange.png b/img/markers/target-orange.png
deleted file mode 100644
index 4b353b6..0000000
Binary files a/img/markers/target-orange.png and /dev/null differ
diff --git a/img/markers/target-purple.png b/img/markers/target-purple.png
deleted file mode 100644
index 4510158..0000000
Binary files a/img/markers/target-purple.png and /dev/null differ
diff --git a/img/markers/target-red.png b/img/markers/target-red.png
deleted file mode 100644
index 5987df9..0000000
Binary files a/img/markers/target-red.png and /dev/null differ
diff --git a/img/markers/target-yellow.png b/img/markers/target-yellow.png
deleted file mode 100644
index 8dc2d08..0000000
Binary files a/img/markers/target-yellow.png and /dev/null differ
diff --git a/img/markers/target.svg b/img/markers/target.svg
new file mode 100644
index 0000000..e80875e
--- /dev/null
+++ b/img/markers/target.svg
@@ -0,0 +1,19 @@
+
\ No newline at end of file
diff --git a/js/tracker.js b/js/tracker.js
index e518415..bde5dfc 100644
--- a/js/tracker.js
+++ b/js/tracker.js
@@ -74,8 +74,7 @@ var manual_pan = false;
var car_index = 0;
var car_colors = ["blue", "red", "green", "yellow", "teal", "purple"];
-var balloon_colors_name = ["red", "blue", "green", "purple", "orange", "cyan"];
-var balloon_colors = ["#f00", "blue", "green", "#c700e6", "#ff8a0f", "#0fffca"];
+var balloon_colors = ["red", "blue", "lime", "magenta", "#ffb300", "#00ffff"];
var nyan_color_index = 0;
var nyan_colors = ['nyan', 'nyan-coin', 'nyan-mon', 'nyan-pirate', 'nyan-cool', 'nyan-tothemax', 'nyan-pumpkin', 'nyan-afro', 'nyan-coin', 'nyan-mummy'];
@@ -2334,6 +2333,20 @@ function drawLaunchPrediction(vcallsign) {
vehicle.prediction_launch_polyline.path_length = path_length;
}
+// Takes in an SVG for a balloon, parachute, target, car, etc and sets a dynamic-color
+// variable which that SVG can use to recolor any relevant elements.
+// See balloon.svg, target.svg, etc for examples
+function recolorSVG(svg_path, color) {
+ const xhr = new XMLHttpRequest();
+ xhr.open('GET', svg_path, false);
+ xhr.send();
+
+ const parser = new DOMParser();
+ const svgDocument = parser.parseFromString(xhr.responseText, 'image/svg+xml');
+ svgDocument.documentElement.style.setProperty("--dynamic-color", color);
+ return 'data:image/svg+xml;charset=utf-8,' + encodeURIComponent(svgDocument.documentElement.outerHTML);
+ }
+
function redrawPrediction(vcallsign) {
var vehicle = vehicles[vcallsign];
var data = vehicle.prediction.data;
@@ -2393,7 +2406,7 @@ function redrawPrediction(vcallsign) {
if(vehicle.prediction_target) {
vehicle.prediction_target.setLatLng(latlng);
} else {
- image_src = host_url + markers_url + "target-" + balloon_colors_name[vehicle.color_index] + ".png";
+ image_src = recolorSVG(host_url + markers_url + "target.svg", balloon_colors[vehicle.color_index]);
predictionIcon = new L.icon({
iconUrl: image_src,
iconSize: [20,20],
@@ -3023,7 +3036,7 @@ function addPosition(position) {
if(vcallsign.search(/(chase)/i) != -1) {
vehicle_type = "car";
color_index = car_index++ % car_colors.length;
- image_src = host_url + markers_url + "car-" + car_colors[color_index] + ".png";
+ image_src = recolorSVG(host_url + markers_url + "car.svg", car_colors[color_index]);
image_src_size = [55,25];
image_src_offset = [0,-25];
@@ -3096,9 +3109,7 @@ function addPosition(position) {
// All the balloon are red.
color_index = 0;
}
-
- image_src = host_url + markers_url + "balloon-" +
- ((vcallsign == "PIE") ? "rpi" : balloon_colors_name[color_index]) + ".png";
+ image_src = recolorSVG(host_url + markers_url + "balloon.svg", balloon_colors[color_index]);
image_src_size = [46,84];
image_src_offset = [-35,-46];
@@ -3143,7 +3154,7 @@ function addPosition(position) {
};
marker.shadow = marker_shadow;
- marker.balloonColor = (vcallsign == "PIE") ? "rpi" : balloon_colors_name[color_index];
+ marker.balloonColor = (vcallsign == "PIE") ? "rpi" : balloon_colors[color_index];
marker.mode = 'balloon';
marker.setMode = function(mode) {
if(this.mode == mode) return;
@@ -3156,9 +3167,9 @@ function addPosition(position) {
map.removeLayer(vehicle.subhorizon_circle);
map.removeLayer(vehicle.horizon_circle_title);
map.removeLayer(vehicle.subhorizon_circle_title);
-
+ img_src = recolorSVG(host_url + markers_url + "payload.svg", this.balloonColor);
img = new L.icon ({
- iconUrl: host_url + markers_url + "payload-" + this.balloonColor + ".png",
+ iconUrl: img_src,
iconSize: [17,18],
iconAnchor: [8,14],
tooltipAnchor: [0,-20],
@@ -3174,15 +3185,17 @@ function addPosition(position) {
}
if(mode == "parachute") {
+ img_src = recolorSVG(host_url + markers_url + "parachute.svg", this.balloonColor);
img = new L.icon ({
- iconUrl: host_url + markers_url + "parachute-" + this.balloonColor + ".png",
+ iconUrl: img_src,
iconSize: [46,84],
tooltipAnchor: [0,-98],
iconAnchor: [23,90],
});
} else {
+ img_src = recolorSVG(host_url + markers_url + "balloon.svg", this.balloonColor);
img = new L.icon ({
- iconUrl: host_url + markers_url + "balloon-" + this.balloonColor + ".png",
+ iconUrl: img_src,
iconSize: [46,84],
tooltipAnchor: [0,-98],
iconAnchor: [23,90],