From 6d21e26cd07ff41930c7eeaf18e8eb28068e16bf Mon Sep 17 00:00:00 2001 From: Valentin Platzgummer Date: Sat, 17 Oct 2020 14:55:47 +0200 Subject: [PATCH] area centering added to flight view, centering if wima controller visual items change. --- src/FlightDisplay/FlightDisplayViewMap.qml | 31 ++++++++++++++++++++++ src/WimaView/WimaView.qml | 1 - 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/src/FlightDisplay/FlightDisplayViewMap.qml b/src/FlightDisplay/FlightDisplayViewMap.qml index cb2bb45af..37b0e54d3 100644 --- a/src/FlightDisplay/FlightDisplayViewMap.qml +++ b/src/FlightDisplay/FlightDisplayViewMap.qml @@ -184,6 +184,19 @@ FlightMap { } } + Connections { + target: _wimaController + + onVisualItemsChanged: { + var visualItems = _wimaController.visualItems + if (visualItems && visualItems.count > 0) { + if (recenterNeeded()){ + mapFitFunctions.fitMapViewportToAreas() + } + } + } + } + ExclusiveGroup { id: _mapTypeButtonsExclusiveGroup } @@ -195,6 +208,24 @@ FlightMap { planMasterController: _planMasterController property real leftToolWidth: toolStrip.x + toolStrip.width + + function fitMapViewportToAreas() { + if (!_wimaController.visualItems) { + // Being called prior to controller.start + return + } + + var coordList = [ ] + for (var i = 0; i < _wimaController.visualItems.count; i++){ + var area = _wimaController.visualItems.get(i) + for (var j = 0; j < area.path.length; ++j){ + var vertex = area.path[j] + coordList.push(vertex) + } + } + console.log(coordList) + fitMapViewportToAllCoordinates(coordList) + } } // Add wima Areas to the Map diff --git a/src/WimaView/WimaView.qml b/src/WimaView/WimaView.qml index 6928bf5d0..5c8f71336 100644 --- a/src/WimaView/WimaView.qml +++ b/src/WimaView/WimaView.qml @@ -132,7 +132,6 @@ QGCView { coordList.push(vertex) } } - console.log(coordList) fitMapViewportToAllCoordinates(coordList) } } -- 2.22.0