4 changed files with 81 additions and 13 deletions
@ -0,0 +1,74 @@
@@ -0,0 +1,74 @@
|
||||
/**************************************************************************** |
||||
* |
||||
* (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 |
||||
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 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: guidedActionsController.confirmAction(guidedActionsController.actionSetWaypoint, Math.max(object.sequenceNumber, 1)) |
||||
} |
||||
} |
||||
|
||||
// Waypiont lines |
||||
Instantiator { |
||||
model: largeMapView ? _missionController.waypointLines : 0 |
||||
|
||||
Item { |
||||
property var _missionLineViewComponent |
||||
|
||||
Component.onCompleted: { |
||||
_missionLineViewComponent = missionLineViewComponent.createObject(map, {"object": object}) |
||||
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: object ? [ object.coordinate1, object.coordinate2] : undefined |
||||
|
||||
property var object |
||||
} |
||||
} |
||||
} |
Loading…
Reference in new issue