diff --git a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js index 163c2479a07a91b378a57aff4d5db54102776f8c..96efab463b437315182ec6464db22479f84979ca 100644 --- a/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js +++ b/src/main/resources/eu/simstadt/regionchooser/website/script/simstadt_openlayers.js @@ -4,6 +4,7 @@ var regionChooser = (function(){ var fromJavaFX = navigator.userAgent.indexOf('JavaFX') !== -1; var dataPanel = $('#dataPanel'); var wgs84Sphere = new ol.Sphere(6378137); + var features_by_project; var gmlId; publicScope.init = function(){ @@ -96,6 +97,11 @@ var regionChooser = (function(){ feature["name"] = feature.get("name"); feature["source"] = "CityGML"; }); + + features_by_project = groupBy(kml_source.getFeatures(), "project"); + + // Sort CityGMLs inside each project + Object.values(features_by_project).forEach(features => features.sort((a, b) => a.name.localeCompare(b.name))); } // The features are not added to a regular vector layer/source, @@ -190,8 +196,6 @@ var regionChooser = (function(){ var polygonArea = sketch.getGeometry().getArea(); var intersection_found = false; intersections.clear(); - //NOTE: getFeatures seems to not be sorted anymore. :-/ - features_by_project = groupBy(kml_source.getFeatures(), "project"); Object.keys(features_by_project).forEach(function(project) { features = features_by_project[project]; @@ -368,7 +372,7 @@ var regionChooser = (function(){ updateGMLPolygons(); displayHelp(); document.documentElement.className = ''; // Stop waiting - console.log("READY!"); + console.log("Ready!"); } publicScope.downloadFromSelectedCityGMLs = function() {