2016-08-13 12 views
0

私はそれが何かばかげていると確信していますが、私はそれを理解できません。私は一からKMLを書こうとしています。それはKMZの中にあり、私は写真のオーバーレイとして表示されませんたくさんのジオリファレンス画像があります。私はKMLを書くことができませんが、私はフォルダを組み込むにはあまりにも基本的なドキュメントを見つける。私はプログラムとデバッグを一時停止すると、Kmlのkmlに子がないと表示されますが、 'folder'の機能は42です。そして、名前空間が表示されず、Kmlファイルも書き込まれません。あなたが私に与えることができるあらゆる助けてください!SharpKmlを使用してKMLファイルを作成する

public void WriteKML_sharp() 
    { 

     Kml kml = new Kml(); 

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

     Folder folder = new Folder(); 
     kml.Feature = folder; 
     foreach (Picture picture in _process.pictures) 
     { 
      PhotoOverlay photooverlay = new PhotoOverlay(); 

      photooverlay.Name = picture.name + picture.extension; 
      photooverlay.Open = true; 
      photooverlay.Shape = Shape.Rectangle; 

      Icon icon = new Icon(); 
      Uri uri = new Uri(Path.Combine("files", picture.name + picture.extension), UriKind.Relative); 
      icon.Href = uri; 
      photooverlay.Icon = icon; 

      Point point = new Point(); 
      point.Coordinate = new Vector(picture.gpslat, picture.gpslong); 
      //point.Coordinate = new Vector(picture.gpslat, picture.gpslong, picture.gpsalt); 
      point.AltitudeMode = AltitudeMode.RelativeToGround; 
      photooverlay.Location = point; 

      ViewVolume viewvolume = new ViewVolume(); 
      viewvolume.Top = 25; 
      viewvolume.Bottom = -25; 
      viewvolume.Left = 20; 
      viewvolume.Right = -20; 
      photooverlay.View = viewvolume; 

      folder.AddFeature(photooverlay); 
     } 

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

    } 

答えて

0

私はこれが理由になるかどうかわからないのですが、uがKMLファイルに文書を追加してみてくださいとkml.Featureとしてその文書を割り当てると.AddFeature(フォルダ)を使用して、このドキュメントにあなたの機能を追加することができます。 それは私のためにそのように動作します

関連する問題