|
1 | 1 | $(window).on('load', function() { |
2 | 2 | var documentSettings = {}; |
3 | | - var markerColors = []; |
| 3 | + var group2color = {}; |
4 | 4 |
|
5 | 5 | var polygonSettings = []; |
6 | 6 | var polygonsLegend; |
@@ -66,28 +66,30 @@ $(window).on('load', function() { |
66 | 66 | * column in the spreadsheet. |
67 | 67 | */ |
68 | 68 | function determineLayers(points) { |
69 | | - var layerNamesFromSpreadsheet = []; |
| 69 | + var groups = []; |
70 | 70 | var layers = {}; |
| 71 | + |
71 | 72 | for (var i in points) { |
72 | | - var pointLayerNameFromSpreadsheet = points[i].Group; |
73 | | - if (layerNamesFromSpreadsheet.indexOf(pointLayerNameFromSpreadsheet) === -1) { |
74 | | - markerColors.push( |
75 | | - points[i]['Marker Icon'].indexOf('.') > 0 |
| 73 | + var group = points[i].Group; |
| 74 | + if (group && groups.indexOf(group) === -1) { |
| 75 | + // Add group to groups |
| 76 | + groups.push(group); |
| 77 | + |
| 78 | + // Add color to the crosswalk |
| 79 | + group2color[ group ] = points[i]['Marker Icon'].indexOf('.') > 0 |
76 | 80 | ? points[i]['Marker Icon'] |
77 | | - : points[i]['Marker Color'] |
78 | | - ); |
79 | | - layerNamesFromSpreadsheet.push(pointLayerNameFromSpreadsheet); |
| 81 | + : points[i]['Marker Color']; |
80 | 82 | } |
81 | 83 | } |
82 | 84 |
|
83 | | - // if none of the points have named layers or if there was only one name, return no layers |
84 | | - if (layerNamesFromSpreadsheet.length === 0) { |
| 85 | + // if none of the points have named layers, return no layers |
| 86 | + if (groups.length === 0) { |
85 | 87 | layers = undefined; |
86 | 88 | } else { |
87 | | - for (var i in layerNamesFromSpreadsheet) { |
88 | | - var layerNameFromSpreadsheet = layerNamesFromSpreadsheet[i]; |
89 | | - layers[layerNameFromSpreadsheet] = L.layerGroup(); |
90 | | - layers[layerNameFromSpreadsheet].addTo(map); |
| 89 | + for (var i in groups) { |
| 90 | + var name = groups[i]; |
| 91 | + layers[name] = L.layerGroup(); |
| 92 | + layers[name].addTo(map); |
91 | 93 | } |
92 | 94 | } |
93 | 95 | return layers; |
@@ -684,10 +686,11 @@ $(window).on('load', function() { |
684 | 686 |
|
685 | 687 | // Append icons to categories in markers legend |
686 | 688 | $('#points-legend label span').each(function(i) { |
687 | | - var legendIcon = (markerColors[i].indexOf('.') > 0) |
688 | | - ? '<img src="' + markerColors[i] + '" class="markers-legend-icon">' |
| 689 | + var g = $(this).text().trim(); |
| 690 | + var legendIcon = (group2color[ g ].indexOf('.') > 0) |
| 691 | + ? '<img src="' + group2color[ g ] + '" class="markers-legend-icon">' |
689 | 692 | : ' <i class="fas fa-map-marker" style="color: ' |
690 | | - + markerColors[i] |
| 693 | + + group2color[ g ] |
691 | 694 | + '"></i>'; |
692 | 695 | $(this).prepend(legendIcon); |
693 | 696 | }); |
|
0 commit comments