You need to sign in or sign up before continuing.
Commit 6ca6f01d authored by Eric Duminil's avatar Eric Duminil
Browse files

Highlight polygon when hovering over name

parent 7e96e8ba
Showing with 15 additions and 3 deletions
+15 -3
...@@ -168,10 +168,11 @@ var regionChooser = (function(){ ...@@ -168,10 +168,11 @@ var regionChooser = (function(){
var intersectionArea = intersection.getGeometry().getArea(); var intersectionArea = intersection.getGeometry().getArea();
var citygml_percentage = Math.round(intersectionArea / feature["area"] * 100); var citygml_percentage = Math.round(intersectionArea / feature["area"] * 100);
var sketch_percentage = Math.round(intersectionArea / polygonArea * 100); var sketch_percentage = Math.round(intersectionArea / polygonArea * 100);
var id = feature.getId();
intersections.addFeature(intersection); intersections.addFeature(intersection);
var link = '<li>' var link = '<li onmouseover="regionChooser.highlightPolygon(' + id + ')" onmouseout="regionChooser.resetHighlight(' + id +')">';
// TODO: If possible, highlight the corresponding polygon when hovering above a name. link += '<input type="checkbox" id="citygml_' + feature.getId() + '" class="select_citygml" onclick="regionChooser.isDownloadPossible();">'
link += '<input type="checkbox" id="citygml_' + feature.getId() + '" class="select_citygml" onclick="regionChooser.isDownloadPossible();"><label for="citygml_' + feature.getId() + '">' + feature['name'] + '</label>'; + '<label for="citygml_' + feature.getId() + '">' + feature['name'] + '</label>';
link += " (" + citygml_percentage + "%"; link += " (" + citygml_percentage + "%";
if (sketch_percentage == 100) { if (sketch_percentage == 100) {
...@@ -180,6 +181,17 @@ var regionChooser = (function(){ ...@@ -180,6 +181,17 @@ var regionChooser = (function(){
dataPanel.append(link + ")\n"); dataPanel.append(link + ")\n");
} }
publicScope.highlightPolygon = function(i) {
var feature = kml_source.getFeatureById(i);
feature.oldStyle = feature.getStyle();
feature.setStyle(polygon_style("#ff44a2", 0.7));
}
publicScope.resetHighlight = function(i) {
var feature = kml_source.getFeatureById(i);
feature.setStyle(feature.oldStyle);
}
publicScope.isDownloadPossible = function(){ publicScope.isDownloadPossible = function(){
var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked); var checkedBoxes = Array.from(document.querySelectorAll("input.select_citygml")).filter(c => c.checked);
document.getElementById("download_region_button").disabled = (checkedBoxes.length == 0); document.getElementById("download_region_button").disabled = (checkedBoxes.length == 0);
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment