Вывод списка слоев (сервисов) esri:Legend

0 голосов
спросил 14 Июль, 11 от BAV (1,020 баллов) в категории Программные продукты Esri
    Господа прошу помощи, или хотябы правильного направления, а то запутался совсем.
Проблема: Необходимо в отдельном окне, фрейме, неважно короче где, вывести список сервисов с подслоями значками, и т.д. вообщем в том виде в котором был проект при публикации на сервере. Что я делаю: Я воспользовался примером предложенным на http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#LegendSimple
Вот что у меня получилось: в XAML
...    
     
    <Grid x:Name="LayoutRoot" Background="White">
        <esri:Map x:Name="MyMap" WrapAround="True" >
            <esri:ArcGISTiledMapServiceLayer ID="Street Map"
                    Url="http://...../ArcGIS/rest/services/GISGE/base_map_3/MapServer"/>
            <esri:ArcGISDynamicMapServiceLayer ID="Proj" Opacity="0.6"
                    Url="http://....../ArcGIS/rest/services/Project_v2/gidro_rf/MapServer"/>
           
        </esri:Map>

        <Border Background="#77919191" BorderThickness="1" CornerRadius="5"
            HorizontalAlignment="Right" VerticalAlignment="Top"
            Margin="20" Padding="5" BorderBrush="Black" >
            <esri:Legend Map="{Binding ElementName=MyMap}"
                         LayerIDs="Proj"
                         LayerItemsMode="Tree"
                         />
        </Border>

    </Grid>
</UserControl>


Вроде по логике должно работать, но когда запускаешь проект, слои все отображаются. А в легенде просто одна строчка Proj, без подслоев, т.е. развернуть и посмотреть что есть Proj, я не могу, есть ли какие-нибудь предложения? Заранее спасибо.
    

8 Ответы

0 голосов
ответил 18 Июль, 11 от BAV (1,020 баллов)
 Вопрос, все еще актуален, неужели все в отпуске...
0 голосов
ответил 18 Июль, 11 от TDenis (42,620 баллов)
Какая версия сервера?
Проект создавали из шаблона ESRI?
0 голосов
ответил 18 Июль, 11 от Alexander1 (32,520 баллов)
Какая версия ArcGIS Server-a?

0 голосов
ответил 01 Авг, 11 от BAV (1,020 баллов)
Прошу прощения, давно не заходил. Версия сервера 9.3.1. Ну впринципе я понял что это дело работает только под 10-ку. Но есть же какие-то обходные пути??? Проект создавал из примеров выложенных на сайте ESRI.
    
0 голосов
ответил 01 Авг, 11 от TDenis (42,620 баллов)
Да и под 10-й оно бы не заработало, если при создании проекта выбрать шаблон ESRI.
В этом случае в созданном проекте в App.xaml будет создан стиль для легенды. Стиль спроектирован для LayerItemsMode="Flat".
Поэтому надо либо не применять этот стиль, либо не задавать LayerItemsMode="Tree".
По крайней мере в шаблоне ESRI Showcase так.
0 голосов
ответил 01 Авг, 11 от BAV (1,020 баллов)
Результат один что LayerItemsMode="Flat" что LayerItemsMode="Tree", что совсем без него, нехочет подслои видеть и все. Вот в этом месте LayerIDs="Proj" правда еще ругается что: Ошибка     1     Не удалось привести тип объекта "Microsoft.Expression.DesignModel.DocumentModel.DocumentPrimitiveNode" к типу "Microsoft.Expression.DesignModel.DocumentModel.DocumentCompositeNode".

Но проект компелит, не знаю может это как то отражается на результате. Правда на форуме ESRI утверждают что это ошибка Microsoft. и мол она безвредная.     

Да при создании проекта просто выбирал "Приложение Silverlight", не ESRI - шаблон.
    
0 голосов
ответил 01 Авг, 11 от TDenis (42,620 баллов)
Но есть же какие-то обходные пути???

1. Заскриншотить легенду в ArcMap и выложить готовую картинку :)
2. http://arcscripts.esri.com/details.asp?dbid=16999
http://forums.esri.com/Thread.asp?c=213&f=2455&t=289070
0 голосов
ответил 02 Авг, 11 от BAV (1,020 баллов)
1. Не, мне нужна активная легенда, чтоб я мог отключать и включать подслои.
2. Можно посмотреть.
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...