Select to view content in your preferred language

IsInScaleRange not working in Legend

6217
11
05-07-2013 11:34 PM
AlekseyShulga
Deactivated User
Hi,
I found a weird bug. I use a simple example:
<esri:Map x:Name="MyMap"  WrapAround="True">
    <esri:ArcGISDynamicMapServiceLayer Url="http://myserver/arcgis/rest/services/objects/MapServer" />
</esri:Map>

<esri:Legend Map="{Binding ElementName=MyMap}" LayerItemsMode="Tree" ShowOnlyVisibleLayers="False" >
    <esri:Legend.MapLayerTemplate>
        <DataTemplate>
            <StackPanel Orientation="Horizontal">
                <CheckBox Content="{Binding Label}" IsChecked="{Binding IsEnabled, Mode=TwoWay}" 
                                IsEnabled="{Binding IsInScaleRange}" >
                </CheckBox>
            </StackPanel>
        </DataTemplate>
    </esri:Legend.MapLayerTemplate>
    <esri:Legend.LayerTemplate>
        <DataTemplate>
            <CheckBox Content="{Binding Label}" IsChecked="{Binding IsEnabled, Mode=TwoWay}" 
                            IsEnabled="{Binding IsInScaleRange}" >
            </CheckBox>
        </DataTemplate>
    </esri:Legend.LayerTemplate>
</esri:Legend>
It's ok. IsEnabled="{Binding IsInScaleRange}" works.
I add ArcGISTiledMapServiceLayer in the map before my ArcGISDynamicMapServiceLayer, I get:
- if ArcGISTiledMapServiceLayer is a tiled map service, IsInScaleRange works
- if ArcGISTiledMapServiceLayer is a image service, IsInScaleRange NOT works
<esri:ArcGISTiledMapServiceLayer ShowLegend="False" Url="http://myserver/arcgis/rest/services/base/MapServer" />
<esri:ArcGISTiledMapServiceLayer ShowLegend="False" Url="http://myserver/arcgis/rest/services/ortho/ImageServer" />
I don't want to use ArcGISImageServiceLayer for the ImageServer, because ArcGISImageServiceLayer displayed very slowly. Why is it not working?
PS: This example works fine on JavaScript, but not work on SL.
0 Kudos
11 Replies
deleted-user-Jie3eyjOl9XM
Deactivated User

Dominique Broux

This issue sounds similar to something that we've been dealing with. The map scales are different by a very small decimal number, and so we have layers that disappear when they are at the maximum zoom (not beyond). Could be causing IsInScaleRange to go wrong, too.

3.2 And ArcGISTiledMapServiceLayer&amp;nbsp; MinimumResolution Property

Custom base map minimum scale fails to load in version 3.2

0 Kudos
AlekseyShulga
Deactivated User

Hi, Yes!!!

If I use ArcGISTiledMapServiceLayer in Map, IsInScaleRange not work on layers in another ArcGISDynamicMapServiceLayer. If I not use ArcGISTiledMapServiceLayer all good.

0 Kudos