这是我的情况,
我有一个ESRI Map Silverlight应用程序,需要显示给我的客户端的ShapeFiles。
我发现的唯一可以让您执行此操作的第三方库是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);
}
}
答案 0 :(得分:0)
我有一个正在做同样事情的Silveright应用程序,但我正在做的是将shapefile作为blob上传到后端的SQL数据库,然后从那里抓取它。
对于您要执行的操作,您应该查看this codeplex project。我认为它会帮助你。