1

これが私の状況です。

クライアントに提供された ShapeFiles を表示する必要がある ESRI Map Silverlight アプリケーションがあります。

これを可能にする唯一のサード パーティ ライブラリは、ESRI Silverlight API Contribです。彼らが提供する例は、ファイルを開くダイアログを使用して形状ファイルを選択し、それらを FileInfo クラスにロードして表示することです。(サイトのフロントページの例を参照してください)。

ただし、Silverlight アプリであるため、FileInfo オブジェクトのインスタンスをインスタンス化しようとすると、アプリがクラッシュするという問題が発生します。

私の質問は、ローカルに保存したシェイプ ファイルを Silverlight のアプリにロード/表示する方法はありますか?

さらに情報を提供する必要がある場合はお知らせください。

前もって感謝します!

コード:

FileInfo runwayShp = new FileInfo("Layers\\Runway.shp"); //This line breaks, says file access is denied.
FileInfo runwayDbf = new FileInfo("Layers\\Runway.dbf");
ShapeFile shapeFileReader = new ShapeFile();
if (runwayShp != null && runwayDbf != null)
{
    shapeFileReader.Read(runwayShp, runwayDbf);
}
GraphicsLayer graphicsLayer = MyMap.Layers["ShapeLayer"] as GraphicsLayer;
foreach (ShapeFileRecord record in shapeFileReader.Records)
{

    Graphic graphic = record.ToGraphic();
    if (graphic != null)
        graphicsLayer.Graphics.Add(graphic);
    }
}
4

1 に答える 1

0

私はほとんど同じことをしている Silverlight アプリを持っていますが、私がしているのは、シェープファイルを blob としてバックエンドの SQL データベースにアップロードし、そこから取得することです。

あなたがやろうとしていることについては、このコードプレックスプロジェクトを見てください。私はそれがあなたを助けると思います。

于 2011-02-01T22:53:00.730 に答える