2010-12-08 3 views
1

Voici ma situation,Afficher les fichiers ShapeFiles dans Silverlight Esri Carte

J'ai une application Silverlight Esri carte qui a besoin d'afficher les fichiers ShapeFiles qui m'a été remis au client.

La seule bibliothèque tierce que j'ai trouvée qui vous permettra de le faire est la ESRI Silverlight API Contrib. L'exemple qu'ils donnent est d'utiliser une boîte de dialogue Ouvrir un fichier pour sélectionner les fichiers de forme et les charger dans des classes FileInfo à afficher. (Voir l'exemple sur la page d'accueil du site).

Cependant, je suis confronté au problème: puisqu'il s'agit d'une application Silverlight, toute tentative d'instanciation d'une instance d'un objet FileInfo provoque le blocage de l'application. Donc, ma question est, y at-il un moyen pour moi de charger/afficher les fichiers de formes que j'ai enregistrés localement dans l'application dans Silverlight?

Faites-moi savoir si vous avez besoin de moi pour donner plus d'infos.

Merci d'avance!

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); 
    } 
} 

Répondre

0

J'ai une application silveright qui fait à peu près la même chose, mais ce que je fais est de télécharger le fichier shape en tant que blob à un db SQL sur l'arrière, puis saisir à partir de là.

Pour ce que vous essayez de faire, vous devriez regarder this codeplex project. Je pense que ça va t'aider.

Questions connexes