diff --git a/src/FlightMap/Widgets/MapFitFunctions.qml b/src/FlightMap/Widgets/MapFitFunctions.qml index 698388788ec346b8ec30fae18336607ac36380cb..d2398a3803d38c983da5d4eaf2fcc6058365640e 100644 --- a/src/FlightMap/Widgets/MapFitFunctions.qml +++ b/src/FlightMap/Widgets/MapFitFunctions.qml @@ -95,6 +95,10 @@ Item { } function fitMapViewportToMissionItems() { + if (!mapMissionController.visualItems) { + // Being called prior to controller.start + return + } var coordList = [ ] addMissionItemCoordsForFit(coordList) fitMapViewportToAllCoordinates(coordList) @@ -135,6 +139,10 @@ Item { } function fitMapViewportToAllItems() { + if (!mapMissionController.visualItems) { + // Being called prior to controller.start + return + } var coordList = [ ] addMissionItemCoordsForFit(coordList) addFenceItemCoordsForFit(coordList) diff --git a/src/MissionEditor/MissionSettingsEditor.qml b/src/MissionEditor/MissionSettingsEditor.qml index e68ec7421e3c52231e782e13f9e2272a4266ba37..b8b9b638a965bc0bf2ecc674fd454110cd6cae35 100644 --- a/src/MissionEditor/MissionSettingsEditor.qml +++ b/src/MissionEditor/MissionSettingsEditor.qml @@ -160,7 +160,6 @@ Rectangle { } QGCLabel { - Layout.row: 2 text: qsTr("Cruise speed:") visible: _showCruiseSpeed Layout.fillWidth: true @@ -172,7 +171,6 @@ Rectangle { } QGCLabel { - Layout.row: 3 text: qsTr("Hover speed:") visible: _showHoverSpeed Layout.fillWidth: true diff --git a/src/MissionEditor/SimpleItemMapVisual.qml b/src/MissionEditor/SimpleItemMapVisual.qml index 59f6c0acf3714e580e6b59cd4c5f28c2f243f16e..c3f8eff1287ab0f33a6eaaeef7a590a950edc052 100644 --- a/src/MissionEditor/SimpleItemMapVisual.qml +++ b/src/MissionEditor/SimpleItemMapVisual.qml @@ -22,32 +22,38 @@ import QGroundControl.FlightMap 1.0 Item { property var map ///< Map control to place item in - property var _missionItem: object - property var _itemVisual - property var _dragArea + property var _missionItem: object + property var _itemVisual + property var _dragArea + property bool _itemVisualShowing: false + property bool _dragAreaShowing: false function hideItemVisuals() { - _itemVisual.destroy() - _itemVisual = undefined + if (_itemVisualShowing) { + _itemVisual.destroy() + _itemVisualShowing = false + } } function showItemVisuals() { - if (!_itemVisual) { + if (!_itemVisualShowing) { _itemVisual = indicatorComponent.createObject(map) map.addMapItem(_itemVisual) + _itemVisualShowing = true } } function hideDragArea() { - if (_dragArea) { + if (_dragAreaShowing) { _dragArea.destroy() - _dragArea = undefined + _dragAreaShowing = false } } function showDragArea() { - if (!_dragArea) { + if (!_dragAreaShowing) { _dragArea = dragAreaComponent.createObject(map) + _dragAreaShowing = true } } @@ -81,10 +87,10 @@ Item { id: dragAreaComponent MissionItemIndicatorDrag { - itemIndicator: _itemVisual - itemCoordinate: _missionItem.coordinate + itemIndicator: _itemVisual + itemCoordinate: _missionItem.coordinate - onItemCoordinateChanged: _missionItem.coordinate = itemCoordinate + onItemCoordinateChanged: _missionItem.coordinate = itemCoordinate } } diff --git a/src/MissionEditor/SurveyMapVisual.qml b/src/MissionEditor/SurveyMapVisual.qml index d680520341cd81e9db7a8763e967bc9e3e397abe..eb0fc049c06eb6b6845c398763fbe3f4ebe4edee 100644 --- a/src/MissionEditor/SurveyMapVisual.qml +++ b/src/MissionEditor/SurveyMapVisual.qml @@ -76,6 +76,7 @@ Item { anchorPoint.y: sourceItem.anchorPointY z: QGroundControl.zOrderMapItems coordinate: _missionItem.coordinate + visible: _missionItem.exitCoordinate.isValid sourceItem: MissionItemIndexLabel { @@ -96,6 +97,7 @@ Item { anchorPoint.y: sourceItem.anchorPointY z: QGroundControl.zOrderMapItems coordinate: _missionItem.exitCoordinate + visible: _missionItem.exitCoordinate.isValid sourceItem: MissionItemIndexLabel {