2017-02-20 2 views
0

Ich habe visibility zu 0 gemacht, aber kein Glück überhaupt, immer noch alle Daten laden, wenn ich mit Google Earth laden. So deaktivieren Sie alle Ordner und innen Elemente so Benutzer kann auswählen, welche überhaupt in später benötigt .i ist Erstellen von KML durch C# und ich kleinen Teil der großen KML-Datei bin Entsendung, die ich KMZ .Was bin Umwandlung in falsch in folgenden kmlSo deaktivieren Sie Ordner in KML-Datei

snippet
<?xml version="1.0" encoding="utf-8"?> 

<kml:kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:json="http://www.w3.org/2005/Json"> 

    <kml:Folder> 

    <kml:visibility>0</kml:visibility> 

    <kml:name>Test</kml:name> 

    <kml:open>1</kml:open> 

    <kml:Folder> 

     <kml:visibility>0</kml:visibility> 

     <kml:name>2G</kml:name> 

     <kml:open>1</kml:open> 

     <kml:Folder> 

     <kml:visibility>0</kml:visibility> 

     <kml:name>Icro</kml:name> 

     <kml:Folder> 

      <kml:visibility>0</kml:visibility> 

      <kml:name>Working</kml:name> 
     </kml:Folder> 
     </kml:Folder> 
    </kml:Folder> 
    </kml:Folder> 

    <kml:Folder> 

    <kml:visibility>0</kml:visibility> 

    <kml:name>3G</kml:name> 

    <kml:open>1</kml:open> 

    <kml:Folder> 

     <kml:visibility>0</kml:visibility> 

     <kml:name>Testro</kml:name> 

     <kml:Folder> 

     <kml:visibility>0</kml:visibility> 

     <kml:name>Working</kml:name> 

     <Document xmlns="http://www.opengis.net/kml/2.2"> 

      <name>POINTS</name> 
     </Document> 
     </kml:Folder> 
    </kml:Folder> 
    </kml:Folder> 
</kml:kml> 

Antwort

1

Es ist ein „Feature“ in Google Earth das widerspricht Wie die KML 2.2-Spezifikation Daten beschreibt, ist an der Sichtbarkeit der übergeordneten Ordner erkennbar.

Der OGC KML 2.2 Standard besagt "Damit ein Feature sichtbar ist, muss das kml: visibility Tag aller seiner Vorfahren auch auf 1 oder True gesetzt werden". Dies bedeutet, dass die Sichtbarkeit von "0" in einem übergeordneten Ordner dazu führt, dass alle im Ordner enthaltenen untergeordneten Platzhalter nicht sichtbar sind.

Google Earth implementiert die Sichtbarkeit jedoch so, dass die Sichtbarkeit auf einem untergeordneten Element die Sichtbarkeit in übergeordneten Ordnern überschreibt, auch wenn die Sichtbarkeit nicht explizit definiert ist (standardmäßig Sichtbarkeit = 1) und dies den oben genannten Standard verletzt. Dies wurde 2009 als bug berichtet und here beschrieben. Google auf die Frage geantwortet, wie folgt:

„hat Sichtbarkeit immer auf das Kind Elementebene außer Kraft gesetzt wurde, und Änderung dieser vorhandenen Code brechen würde“

Diese alle der KML Ortsmarken bedeutet, dass beim Start nicht zeigen wollen, muss die Sichtbarkeit 0 explizit sein, anstatt sie nur einmal auf der Ordner-/Dokument-Ebene zu setzen.