Anzeigen von Shape-Dateien in Silverlight ESRI Map
-
10-10-2019 - |
Frage
Hier ist meine Situation,
Ich habe eine ESRI Map Silverlight-Anwendung, dass der Bedarf Shape-Dateien angezeigt werden, die ich die Kunden gegeben wurden.
Die einzige Dritte Bibliothek, die ich gefunden habe, die Sie erlauben, dies zu tun ist das ESRI Silverlight API Contrib . Das Beispiel, das sie geben, ist eine Datei öffnet Dialog zu verwenden, um die Shape-Dateien auszuwählen und sie in eine Fileinfo-Klassen zu laden, zu zeigen. (Siehe Beispiel auf Seite der Titelseite).
Jedoch habe ich in der Frage führen, dass, da es sich um eine Silverlight-Anwendung ist, jeder Versuch, eine Instanz eines Fileinfo-Objekt zu instanziiert bewirkt, dass die App zum Absturz bringen.
Also meine Frage ist, gibt es eine Möglichkeit für mich, um Last / Anzeige Shape-Dateien, dass ich lokal auf die App in Silverlight gespeichert?
Bitte lassen Sie mich wissen, wenn Sie mich brauchen weitere Informationen zu geben.
Vielen Dank im Voraus!
Code:
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);
}
}
Lösung
Ich habe eine silveright App, die so ziemlich das Gleiche tut, aber was ich tue, ist die Shape-Datei als Blob zu einer SQL db Hochladen auf dem hinteren Ende, und dann von dort greifen.
für das, was Sie zu tun versuchen, Sie unter dieser Codeplex-Projekt aussehen sollten. Ich denke, es wird Ihnen helfen.