From cdb6aadd31da618580674d6f192d5995a699f3d0 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sun, 9 Sep 2018 19:56:05 -0400 Subject: [PATCH 1/3] Added loader to let user know that map is still being processed and rendered --- js/parking_map.js | 25 +++++++++--- js/parking_map_data_control.js | 2 +- parking_map.css | 69 ++++++++++++++++++++++++++++++++++ parking_map.html | 11 +----- 4 files changed, 91 insertions(+), 16 deletions(-) create mode 100644 parking_map.css diff --git a/js/parking_map.js b/js/parking_map.js index b1300b4..65cfd9c 100644 --- a/js/parking_map.js +++ b/js/parking_map.js @@ -41,9 +41,21 @@ 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'); + document.body.removeChild(loader); +} + let featuresLayerGroup function queryArcGIS(map) { + renderLoader(); conditions = [] conditions.push('even_is_parking_available IS NOT NULL AND odd_is_parking_available IS NOT NULL') @@ -120,18 +132,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 +159,7 @@ $(document).ready(() => { queryArcGIS(map) parkingGarages.addTo(map); - + parkingGarages.bindTooltip(parkingGarage => { const properties = parkingGarage.feature.properties @@ -160,12 +173,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 = - '

Wilmington, DE

' + + '

Wilmington, DE

' + '
' + '
' + '