Я хочу создать kml-файл в C#. Теперь у меня есть две проблемы:Создать kml-файл с помощью элементов xml
Что такое synatx, чтобы добавить элемент KML в файле XML, чтобы иметь строку ниже в моем файле KML?
<kml xmlns="http://www.opengis.net/kml/2.2">
У меня есть массив точек, которые я хотел бы, чтобы сформировать LineString. Как я предполагаю, чтобы заполнить элемент координат в xml для файла kml?. Ниже приведен мой код.
КОД:
public void MakeKmlFile(string line)
{
CoordinateCollection coordinates = new CoordinateCollection();
char[] delimiterLine = { '|' };
char[] delimiterPoint = { ',' };
string[] route = line.Split(delimiterLine);
foreach (string point in route)
{
string[] route_point = line.Split(delimiterPoint);
double lat = double.Parse(route_point[1]);
double lon = double.Parse(route_point[0]);
coordinates.Add(new Vector(lat, lon));
}
XmlTextWriter writer = new XmlTextWriter("route.xml", System.Text.Encoding.UTF8);
writer.Formatting = Formatting.Indented;
writer.WriteStartElement("Document");
writer.WriteStartElement("Folder");
writer.WriteStartElement("name");
writer.WriteString("route");
writer.WriteEndElement();
writer.WriteStartElement("Placemark");
writer.WriteStartElement("Style");
writer.WriteStartElement("LineStyle");
writer.WriteStartElement("color");
writer.WriteString("ff0000ff");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("PolyStyle");
writer.WriteStartElement("fill");
writer.WriteString("2");
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteEndElement();
writer.WriteStartElement("LineString");
writer.WriteStartElement("coordinates");
Это результат я получил:
<?xml version="1.0" encoding="utf-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<Name>Points.kml</Name>
<Placemark />
<Placemark />
<Placemark />
<Placemark />
<Placemark />
</Document>
Обратите внимание, что Polystyle заполнить элемент имеет значение 1 или 0 => "2" не является действительным. – JasonM1