Android Absolute kml-Datei erzeugen

BergJava

Aktives Mitglied
Hallo, ich erzeuge so meine absolute kml:

Code:
    try {
            fileWriter = new FileWriter(kmlFile);
       
           BufferedWriter outWriter = new BufferedWriter(fileWriter);

        
            outWriter.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
                       "\n <kml xmlns=\"http://www.opengis.net/kml/2.2\">" +
                       "\n <Document>" +
                       "\n <name>" +"TEST"+ "</name>" +
                       "\n <Style id=\"transPurpleLineGreenPoly\">"+
                       "\n <LineStyle>"+
                       "\n <color>7fff00ff</color>"+
                       "\n <width>4</width>"+
                       "\n </LineStyle>"+
                       "\n <PolyStyle>"+
                       "\n <color>7f00ff00</color>"+
                       "\n </PolyStyle>"+
                       "\n </Style>"+
                       "\n <Placemark>" +
                       "\n <name>" + "TEST" + "</name>" +
                       "\n <visibility>1</visibility>"+
                       "\n <description>Transparent purple line</description>"+
                       "\n <styleUrl>#transPurpleLineGreenPoly</styleUrl>"+
                       "\n <LineString>"+
                       "\n <tessellate>1</tessellate>"+
                      "\n <altitudeMode>absolute</altitudeMode"+
                      "\n <coordinates>"+"\n" );
       
                   for (int i = 0; i<LatList.size();i++){
                       try {
                        outWriter.write(
                                          
                                LonList.get(i) + "," + LatList.get(i)+",0"+"\n" 
                                        );
                    } catch (IOException e) {
                        // TODO Auto-generated catch block
                        e.printStackTrace();
                    }
                   }
         
            outWriter.write("\n </coordinates>" +
                              "\n </LineString>" +
                              "\n </Placemark>" +
                              "\n </Document>" +
                            "\n </kml>");
       
           outWriter.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

Die Datei sieht dann so aus:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>

<name>TEST</name>
<Style id="transPurpleLineGreenPoly">
<LineStyle>
<color>7fff00ff</color>
<width>4</width>
</LineStyle>
<PolyStyle>
<color>7f00ff00</color>
</PolyStyle>
</Style>
<Placemark>
<name>Test</name>
<visibility>1</visibility>
<description>Transparent purple line</description>
<styleUrl>#transPurpleLineGreenPoly</styleUrl>
<LineString>
<tessellate>1</tessellate>
<altitudeMode>absolute</altitudeMode
<coordinates>
8.209283774358966,47.91929929685342,0
8.209217683284868,47.919334469433394,0
</coordinates>
</LineString>
</Placemark>

</Document>
</kml>

Aber Google erkennt sie nicht???
Habe sie auch schon oft mit KMLSampler verglichen, per Auge sehe ich nichts, muss ich ein Leerzeich anders programmieren.???

Danke für die Hilfe
 
Ein Problem ist dein "altitudeMode" Tag. Da fehlt beim Tag-Ende das Größer-Zeichen.

Generell solltest du XMLs immer gegen XSDs prüfen.
Wenn du kein Tool zur Verfügung hast, gibt es zur Not auch Seiten, die das online anbieten.
Ich habe gerade folgendes genutzt : http://www.utilities-online.info/xsdvalidation
Das ist zwar nicht sonderlich komfortabel, aber besser als nichts.
 

Zurück
Oben