From 340344729d6ade147b9a856cb31f716e76fe3896 Mon Sep 17 00:00:00 2001 From: Korina Cordero Date: Wed, 15 Jul 2020 03:37:49 +0000 Subject: [PATCH] Add label to rider icons. #436 --- public/assets/js/dashboard_map.js | 45 +++++++++++++++++++++++++++++-- 1 file changed, 43 insertions(+), 2 deletions(-) diff --git a/public/assets/js/dashboard_map.js b/public/assets/js/dashboard_map.js index 3f02d1f4..51e43b4c 100644 --- a/public/assets/js/dashboard_map.js +++ b/public/assets/js/dashboard_map.js @@ -146,6 +146,47 @@ class DashboardMap { } } + putMarkerWithLabel(id, lat, lng, markers, icon, layer_group, popup_url) { + var my = this; + // existing marker + if (markers.hasOwnProperty(id)) { + markers[id].setLatLng(L.latLng(lat, lng)); + return; + } + + // new marker + // add label + markers[id] = L.marker( + [lat, lng], + { icon: icon } + ); + + markers[id].bindTooltip(id, + { + permanent: true, + direction: 'right' + } + ); + + markers[id].addTo(layer_group); + + if (my.options.enable_popup) { + markers[id].bindPopup('Loading...'); + + // bind ajax for popup + markers[id].on('click', function(e) { + var popup = e.target.getPopup(); + var url = popup_url.replace('[id]', id); + console.log(url); + $.get(url).done(function(data) { + popup.setContent(data); + popup.update(); + }); + }); + } + } + + putCustomerMarker(id, lat, lng) { this.putMarker( id, @@ -185,7 +226,7 @@ class DashboardMap { } putRiderAvailableMarker(id, lat, lng) { - this.putMarker( + this.putMarkerWithLabel( id, lat, lng, @@ -197,7 +238,7 @@ class DashboardMap { } putRiderActiveJOMarker(id, lat, lng) { - this.putMarker( + this.putMarkerWithLabel( id, lat, lng,