Отображение ShapeFiles на карте Silverlight ESRI - PullRequest
1 голос
/ 09 декабря 2010

Вот моя ситуация,

У меня есть приложение 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);
    }
}

1 Ответ

0 голосов
/ 02 февраля 2011

У меня есть приложение silveright, которое делает почти то же самое, но я загружаю шейп-файл в виде большого двоичного объекта в базу данных SQL на серверной части, а затем извлекаю его оттуда.

для того, что вы пытаетесь сделать, вы должны взглянуть на этот кодекс-проект . Я думаю, что это поможет вам.

...