Commit adaa9da8 authored by LM's avatar LM

Working on 3D lines in Google Earth

parent 99d25403
...@@ -65,6 +65,10 @@ var trailPlacemarks = []; ...@@ -65,6 +65,10 @@ var trailPlacemarks = [];
var trailsVisible = []; var trailsVisible = [];
var trailColors = []; var trailColors = [];
var waypoints = []; var waypoints = [];
var waypointLines = [];
var waypointLinePlacemarks = [];
var waypointLineColors = [];
//var waypointLines = []; //var waypointLines = [];
//var trailPlacemarks[id]; //var trailPlacemarks[id];
var lineStyle; var lineStyle;
...@@ -362,6 +366,8 @@ function updateWaypoint(id, index, lat, lon, alt, action) ...@@ -362,6 +366,8 @@ function updateWaypoint(id, index, lat, lon, alt, action)
location.setAltitude(alt); location.setAltitude(alt);
waypoints[index].setGeometry(location); waypoints[index].setGeometry(location);
waypoints[index].setDescription(index+""); waypoints[index].setDescription(index+"");
} }
else else
{ {
...@@ -389,6 +395,25 @@ function updateWaypoint(id, index, lat, lon, alt, action) ...@@ -389,6 +395,25 @@ function updateWaypoint(id, index, lat, lon, alt, action)
ge.getFeatures().appendChild(placemark); ge.getFeatures().appendChild(placemark);
waypoints[index] = placemark; waypoints[index] = placemark;
} }
// Add waypoint line
waypointLines[id].setExtrude(false);
waypointLines[id].setAltitudeMode(ge.ALTITUDE_ABSOLUTE);
// Add LineString points
waypointLines[id].getCoordinates().pushLatLngAlt(lat, lon, alt);
// Create a style and set width and color of line
waypointLinePlacemarks[id].setStyleSelector(ge.createStyle(''));
lineStyle = waypointLinePlacemarks[id].getStyleSelector().getLineStyle();
lineStyle.setWidth(5);
lineStyle.getColor().set(waypointLineColors[id]);  // aabbggrr format
//lineStyle.getColor().set(color);  // aabbggrr format
// Add the feature to Earth
//if (waypointLinesVisible[id] == true)
ge.getFeatures().replaceChild(waypointLinePlacemarks[id], waypointLinePlacemarks[id]);
// Add connecting line // Add connecting line
} }
...@@ -423,6 +448,7 @@ function createAircraft(id, type, color) ...@@ -423,6 +448,7 @@ function createAircraft(id, type, color)
//planeColor = color; //planeColor = color;
createTrail(id, color); createTrail(id, color);
createWaypointLine(id, color);
//console.log(color); //console.log(color);
} }
...@@ -454,6 +480,32 @@ trailsVisible[id] = false; ...@@ -454,6 +480,32 @@ trailsVisible[id] = false;
} }
function createWaypointLine(id, color)
{
waypointLinePlacemarks[id] = ge.createPlacemark('');
// Create the placemark
// Create the LineString; set it to extend down to the ground
// and set the altitude mode
waypointLines[id] = ge.createLineString('');
waypointLinePlacemarks[id].setGeometry(waypointLines[id]);
waypointLines[id].setExtrude(false);
waypointLines[id].setAltitudeMode(ge.ALTITUDE_ABSOLUTE);
// Add LineString points
//lineString.getCoordinates().pushLatLngAlt(48.754, -121.835, 700);
// Create a style and set width and color of line
waypointLinePlacemarks[id].setStyleSelector(ge.createStyle(''));
lineStyle = waypointLinePlacemarks[id].getStyleSelector().getLineStyle();
lineStyle.setWidth(10);
waypointLineColors[id] = color;
lineStyle.getColor().set('00000000');  // aabbggrr format
// Add the feature to Earth
//ge.getFeatures().appendChild(trailPlacemarks[id]);
}
function clearTrail(id) function clearTrail(id)
{ {
ge.getFeatures().removeChild(trailPlacemarks[id]); ge.getFeatures().removeChild(trailPlacemarks[id]);
......
...@@ -112,7 +112,7 @@ void QGCMapWidget::showEvent(QShowEvent* event) ...@@ -112,7 +112,7 @@ void QGCMapWidget::showEvent(QShowEvent* event)
connect(&updateTimer, SIGNAL(timeout()), this, SLOT(updateGlobalPosition())); connect(&updateTimer, SIGNAL(timeout()), this, SLOT(updateGlobalPosition()));
updateTimer.start(maxUpdateInterval*1000); updateTimer.start(maxUpdateInterval*1000);
updateGlobalPosition(); updateGlobalPosition();
QTimer::singleShot(300, this, SLOT(loadSettings())); QTimer::singleShot(1, this, SLOT(loadSettings()));
} }
void QGCMapWidget::hideEvent(QHideEvent* event) void QGCMapWidget::hideEvent(QHideEvent* event)
......
Markdown is supported
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