簡體   English   中英

Sharpkml 在文件夾中插入圖標

[英]Sharpkml insert Icon in Folder

我想使用 Sharpkml 在文件夾中插入圖標並得到這樣的結果 klm:

        <?xml version="1.0" encoding="utf-8"?>
        <kml xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns="http://www.opengis.net/kml/2.2">
         <Document>
          <name>Doc</name>
          <Folder>
            <name>fol1</name>
              <Icon>
                <href>green.png</href>
               </Icon>
           </Folder>
        </Document>
        </kml>

但是找不到辦法。 你可以幫幫我嗎?

Kml kml = new Kml(); 
kml.AddNamespacePrefix(KmlNamespaces.GX22Prefix, KmlNamespaces.GX22Namespace); 
var document = new Document(); 
document.Name = "Doc"; 
kml.Feature = document; 
var folder1 = new Folder(); 
folder1.Name = "fol1"; 
document.AddFeature(folder1);

找到一種變體,它可能與 ListStyle 有關。

        Kml kml = new Kml();

        kml.AddNamespacePrefix(KmlNamespaces.GX22Prefix, KmlNamespaces.GX22Namespace);

        var document = new Document();
        document.Name = "Doc";
        kml.Feature = document;

        var style_f = new Style();
        style_f.Id = "fol";

        var liststyle_f = new ListStyle();
        var itemicon_f = new ItemIcon();

        itemicon_f.State = ItemIconStates.Open | ItemIconStates.Closed;
        itemicon_f.Href = new Uri("green.png", UriKind.Relative);

        liststyle_f.AddItemIcon(itemicon_f);
        style_f.List = liststyle_f;

        document.AddStyle(style_f);

        var folder1 = new Folder();
        folder1.Name = "fol1";
        folder1.StyleUrl = new Uri("#fol", UriKind.Relative);

        document.AddFeature(folder1);

        var kml_file = @"C:\Users\user\Documents\kml_file.kml";

        KmlFile kmlfile = KmlFile.Create(kml, false);
        using (var stream = System.IO.File.OpenWrite(kml_file))
        {
            kmlfile.Save(stream);
        }

結果:

    <?xml version="1.0" encoding="utf-8"?>
    <kml xmlns:gx="http://www.google.com/kml/ext/2.2" xmlns="http://www.opengis.net/kml/2.2">
      <Document>
        <name>Doc</name>
        <Style id="fol">
          <ListStyle>
            <ItemIcon>
              <state>open closed</state>
              <href>green.png</href>
            </ItemIcon>
          </ListStyle>
        </Style>
        <Folder>
          <name>fol1</name>
          <styleUrl>#fol</styleUrl>
        </Folder>
      </Document>
    </kml>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM