Стили отображения

0 голосов
спросил 06 Май, 06 от Progman (840 баллов) в категории Программные продукты Esri

Добрый день!

У меня такая проблема: когда я программно изменяю стиль отображения геометрий слоя карты, геометрии перестают отображаться, хотя селектировать их возможно.

Вот примерный код:

IStyleGallery StyleGallery=new ServerStyleGalleryClass(); IStyleGalleryStorage StyleStorage=(IStyleGalleryStorage)StyleGallery; StyleStorage.AddFile(StylePath); IEnumStyleGalleryItem styles=StyleGallery.get_Items(StyleClass,StylePath,""); styles.Reset(); Style=styles.Next(); ISymbol sym=(ISymbol)Style.Item; ISimpleRenderer renderer = Geolayer.Renderer as SimpleRenderer; renderer.Symbol=sym; ((IMapServerObjects)MapServer).RefreshServerObjects(); Серверная конфигурация настроена как non-pooled. Свойство Symbol у рендерера слоя действительно изменяется, но вместо символа не отрисовывается ничего. Причем это проявляется как на динамически добавляемых слоях, так и на сохраненных. Единственный способ установить символ на новом слое - это взять его у сохраненного и нормально отображаемого. Кто-нибудь может помочь?  

5 Ответы

0 голосов
ответил 07 Май, 06 от Alexander1 (32,520 баллов)
А как насчёт Exceptions? Не возникают? image
0 голосов
ответил 10 Май, 06 от Progman (840 баллов)

А как насчёт Exceptions? Не возникают? image

Нет никаких эксепшенов, стиль нормально находится в галерее, нормально присваивается.

 

0 голосов
ответил 11 Май, 06 от Progman (840 баллов)
Все, разобрался, вопрос снимается.
0 голосов
ответил 11 Май, 06 от Alexander1 (32,520 баллов)
Поделился бы с обществом - в чём таки причина была и как справился...Wink
0 голосов
ответил 11 Май, 06 от Progman (840 баллов)
Поделился бы с обществом - в чём таки причина была и как справился...Wink
Надо было вместо:

IStyleGallery StyleGallery=new ServerStyleGalleryClass();

писать:
ServerContext.CreateObject("esriDisplay.ServerStyleGallery") as IStyleGallery;
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...