You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.6 KiB
70 lines
2.6 KiB
/**************************************************************************** |
|
* |
|
* (c) 2009-2016 QGROUNDCONTROL PROJECT <http://www.qgroundcontrol.org> |
|
* |
|
* QGroundControl is licensed according to the terms in the file |
|
* COPYING.md in the root of the source code directory. |
|
* |
|
****************************************************************************/ |
|
|
|
import QtQuick 2.3 |
|
import QtLocation 5.3 |
|
import QtPositioning 5.3 |
|
|
|
import QGroundControl 1.0 |
|
import QGroundControl.Controls 1.0 |
|
import QGroundControl.FlightMap 1.0 |
|
|
|
// Adds visual items associated with the Flight Plan to the map. |
|
// Currently only used by Fly View even though it's called PlanMapItems! |
|
Item { |
|
id: _root |
|
|
|
property var map ///< Map control to show items on |
|
property bool largeMapView ///< true: map takes up entire view, false: map is in small window |
|
property var masterController ///< Reference to PlanMasterController for vehicle |
|
property bool isActiveVehicle ///< true: vehicle associated with plan is active, false: in-active |
|
|
|
property var _map: map |
|
property var _missionController: masterController.missionController |
|
property var _geoFenceController: masterController.geoFenceController |
|
property var _rallyPointController: masterController.rallyPointController |
|
property var _missionLineViewComponent |
|
|
|
// Add the mission item visuals to the map |
|
Repeater { |
|
model: largeMapView ? _missionController.visualItems : 0 |
|
|
|
delegate: MissionItemMapVisual { |
|
map: _map |
|
onClicked: { |
|
if (isActiveVehicle) { |
|
// Only active vehicle supports click to change current mission item |
|
guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) |
|
} |
|
} |
|
} |
|
} |
|
|
|
Component.onCompleted: { |
|
_missionLineViewComponent = missionLineViewComponent.createObject(map) |
|
if (_missionLineViewComponent.status === Component.Error) |
|
console.log(_missionLineViewComponent.errorString()) |
|
map.addMapItem(_missionLineViewComponent) |
|
} |
|
|
|
Component.onDestruction: { |
|
_missionLineViewComponent.destroy() |
|
} |
|
|
|
Component { |
|
id: missionLineViewComponent |
|
|
|
MapPolyline { |
|
line.width: 3 |
|
line.color: "#be781c" // Hack, can't get palette to work in here |
|
z: QGroundControl.zOrderWaypointLines |
|
path: _missionController.waypointPath |
|
} |
|
} |
|
}
|
|
|