diff --git a/js/parking_map.js b/js/parking_map.js
index b1300b4..9f49f9a 100644
--- a/js/parking_map.js
+++ b/js/parking_map.js
@@ -41,9 +41,23 @@ function getPaymentMethods(val) {
}
}
+function renderLoader() {
+ let loader = document.createElement('div');
+ loader.className = 'loader';
+ document.body.insertBefore(loader, document.body.firstChild);
+}
+
+function removeLoader() {
+ let loader = document.querySelector('.loader');
+ if (loader) document.body.removeChild(loader);
+}
+
let featuresLayerGroup
function queryArcGIS(map) {
+
+ let loader = document.querySelector('.loader');
+ if (!loader) renderLoader();
conditions = []
conditions.push('even_is_parking_available IS NOT NULL AND odd_is_parking_available IS NOT NULL')
@@ -120,18 +134,19 @@ function queryArcGIS(map) {
} else {
lines.push('No parking available')
-
}
-
return lines.join('
')
- }).addTo(map)
+ }).addTo(map);
+
+ removeLoader();
}
})
}
$(document).ready(() => {
+
const map = L.map("parking-map").setView([39.743624, -75.549839], 15);
const parkingGarages = new L.GeoJSON.AJAX("https://gist.githubusercontent.com/trescube/14dc08c9fe1d115308176efe88fb05dd/raw/230791df013d36bac441048fecba79b03c0a6916/wilmington_parking_garages.geojson", {
@@ -146,7 +161,7 @@ $(document).ready(() => {
queryArcGIS(map)
parkingGarages.addTo(map);
-
+
parkingGarages.bindTooltip(parkingGarage => {
const properties = parkingGarage.feature.properties
@@ -160,12 +175,12 @@ $(document).ready(() => {
})
$('.leaflet-control-layers').css({ 'width': '100', 'float': 'right' });
-
$('#hasMeters').change(queryArcGIS.bind(null, map))
$('#acceptsCreditCards').change(queryArcGIS.bind(null, map))
$('#acceptsParkMobile').change(queryArcGIS.bind(null, map))
$('#acceptsCoins').change(queryArcGIS.bind(null, map))
$('#freeSaturdayParking').change(queryArcGIS.bind(null, map))
$('#freeSundayParking').change(queryArcGIS.bind(null, map))
-})
+
+});
diff --git a/js/parking_map_data_control.js b/js/parking_map_data_control.js
index 8e8ab37..4c633f0 100644
--- a/js/parking_map_data_control.js
+++ b/js/parking_map_data_control.js
@@ -10,7 +10,7 @@ L.Control.ParkingInput = L.Control.extend({
const inputPanel = L.DomUtil.create('div', 'panel panel-default', container)
inputPanel.innerHTML =
- '