- added Camera in NetworkLinkControl (need flyToView in Entry kml)
git-svn-id: http://moon:8086/svn/software/trunk/projects/FsTrack@127 b431acfa-c32f-4a4a-93f1-934dc6c82436
This commit is contained in:
+29
-5
@@ -36,6 +36,9 @@ void Kml::create()
|
||||
destroy();
|
||||
|
||||
kml = new XmlElement("kml");
|
||||
XmlElement *pNetworkLinkControl = kml->createNewChildElement("NetworkLinkControl");
|
||||
pNetworkLinkControl->createNewChildElement("LinkName")->addTextElement("FsTrack");
|
||||
XmlElement *pCamera = pNetworkLinkControl->createNewChildElement("Camera");
|
||||
XmlElement *pDoc = kml->createNewChildElement("Document");
|
||||
XmlElement *pFile = kml->getChildByName("Document")->createNewChildElement("filename");
|
||||
XmlElement *pSnippet = kml->getChildByName("Document")->createNewChildElement("Snippet");
|
||||
@@ -52,7 +55,16 @@ void Kml::create()
|
||||
|
||||
sprintf(time_str, "Created on %4.4d-%2.2d-%2.2d at %2.2d:%2.2d:%2.2d", 1900+time_now->tm_year, time_now->tm_mon+1, time_now->tm_mday, time_now->tm_hour, time_now->tm_min, time_now->tm_sec);
|
||||
pSnippet->addTextElement(time_str);
|
||||
|
||||
|
||||
// Camera
|
||||
pCamera->createNewChildElement("longitude")->addTextElement("");
|
||||
pCamera->createNewChildElement("latitude")->addTextElement("");
|
||||
pCamera->createNewChildElement("altitude")->addTextElement("");
|
||||
pCamera->createNewChildElement("heading")->addTextElement("");
|
||||
pCamera->createNewChildElement("tilt")->addTextElement("");
|
||||
pCamera->createNewChildElement("altitudeMode")->addTextElement("");
|
||||
|
||||
|
||||
}
|
||||
|
||||
void Kml::destroy()
|
||||
@@ -120,6 +132,9 @@ void Kml::updatePlane(FlightData const &flightData)
|
||||
XmlElement *pAltitudeMode;
|
||||
XmlElement *pCoords;
|
||||
|
||||
XmlElement *pCamera;
|
||||
XmlElement *pLookAt;
|
||||
|
||||
if(pPlacemark == NULL)
|
||||
{
|
||||
// Placemark
|
||||
@@ -153,8 +168,7 @@ void Kml::updatePlane(FlightData const &flightData)
|
||||
// IconStyle
|
||||
pIconStyle = pStyle->createNewChildElement("IconStyle");
|
||||
pHeading = pIconStyle->createNewChildElement("heading");
|
||||
sprintf(temp_str, "%d", (int)flightData.hdgTrue_deg);
|
||||
pHeading->addTextElement(temp_str);
|
||||
pHeading->addTextElement(String(flightData.hdgTrue_deg));
|
||||
|
||||
// Icon
|
||||
pIcon = pIconStyle->createNewChildElement("Icon");
|
||||
@@ -169,6 +183,7 @@ void Kml::updatePlane(FlightData const &flightData)
|
||||
|
||||
// Point
|
||||
pPoint = pPlacemark->createNewChildElement("Point");
|
||||
pPoint->setAttribute("id", "Pointy");
|
||||
pExtrude = pPoint->createNewChildElement("extrude");
|
||||
pExtrude->addTextElement("1");
|
||||
pTesselate = pPoint->createNewChildElement("tesselate");
|
||||
@@ -189,14 +204,23 @@ void Kml::updatePlane(FlightData const &flightData)
|
||||
pDescr->getFirstChildElement()->setText(temp_str);
|
||||
|
||||
// Heading
|
||||
sprintf(temp_str, "%d", (int)flightData.hdgTrue_deg);
|
||||
pHeading = pPlacemark->getChildByName("Style")->getChildByName("IconStyle")->getChildByName("heading");
|
||||
pHeading->getFirstChildElement()->setText(temp_str);
|
||||
pHeading->getFirstChildElement()->setText(String(flightData.hdgTrue_deg));
|
||||
|
||||
// Coordinates
|
||||
sprintf(temp_str, "%9.6f,%9.6f,%9.6f", flightData.lon, flightData.lat, flightData.alt_meter);
|
||||
pCoords = pPlacemark->getChildByName("Point")->getChildByName("coordinates");
|
||||
pCoords->getFirstChildElement()->setText(temp_str);
|
||||
|
||||
// Camera
|
||||
pCamera = kml->getChildByName("NetworkLinkControl")->getChildByName("Camera");
|
||||
pCamera->getChildByName("longitude")->getFirstChildElement()->setText(String(flightData.lon));
|
||||
pCamera->getChildByName("latitude")->getFirstChildElement()->setText(String(flightData.lat));
|
||||
pCamera->getChildByName("altitude")->getFirstChildElement()->setText(String(flightData.alt_meter));
|
||||
pCamera->getChildByName("heading")->getFirstChildElement()->setText(String(flightData.hdgTrue_deg));
|
||||
pCamera->getChildByName("tilt")->getFirstChildElement()->setText("90");
|
||||
pCamera->getChildByName("altitudeMode")->getFirstChildElement()->setText(m_altitudeModeString);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user