<Grid x:Name="LayoutRoot" Style="{StaticResource LayoutRootGridStyle}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="100" /> <ColumnDefinition Width="*" /> <ColumnDefinition Width="100" /> <ColumnDefinition Width="*" /> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="40" /> <RowDefinition Height="*" /> </Grid.RowDefinitions> <esri:Map x:Name="map" Grid.ColumnSpan="4" Grid.Row="1" IsLogoVisible="False" > <esri:Map.Extent> <esri:Envelope XMin="-130" YMin="10" XMax="-70" YMax="60" > <esri:Envelope.SpatialReference> <esri:SpatialReference WKID="4326"/> </esri:Envelope.SpatialReference> </esri:Envelope> </esri:Map.Extent> <esri:Map.Layers> <!--layers added at runtime --> </esri:Map.Layers> </esri:Map> <!--TOC--> <Border Background="#996495ED" BorderThickness="1" CornerRadius="5" HorizontalAlignment="Right" VerticalAlignment="Top" Margin="20" Padding="5" BorderBrush="Black" Grid.Row="1" Grid.Column="0" > <ListBox x:Name="MyList" ></ListBox> </Border> </Grid>
void MapServicesLoadComplete(LoadOperation<Web.ApplicationMapServices> lo) { //Executes when the asynch domain service query completes; adds MapServices to the map Layer layer; ArcGISDynamicMapServiceLayer DynLayer = new ArcGISDynamicMapServiceLayer(); ArcGISTiledMapServiceLayer TileLayer = new ArcGISTiledMapServiceLayer(); foreach (var mapservice in lo.Entities) { if (mapservice.Cached == 1) { TileLayer = new ArcGISTiledMapServiceLayer(); TileLayer.Url = mapservice.ServerURL + "/" + mapservice.MapServiceName + "/MapServer"; TileLayer.ID = mapservice.MapServiceName; layer = TileLayer; } else { DynLayer = new ArcGISDynamicMapServiceLayer(); DynLayer.Url = "http://" + mapservice.AGSServerName + "/arcgis/rest/services/" + mapservice.MapServiceName + "/MapServer"; DynLayer.ID = mapservice.MapServiceName; layer = DynLayer; } layer.Opacity = mapservice.Transparancy == 0 ? 100 : 1- (Convert.ToDouble(mapservice.Transparancy)/100); layer.Visible = Convert.ToBoolean(mapservice.Active); map.Layers.Add(layer); MyList.Items.Insert(0, BuildTOCitem(layer)); } } private StackPanel BuildTOCitem(Layer lyr) { StackPanel spNewItem = new StackPanel(); CheckBox cbx = new CheckBox(); Slider sldr = new Slider(); TextBlock tblock = new TextBlock(); spNewItem.Orientation = Orientation.Horizontal; Binding bind = new Binding("Layers[" + lyr.ID + "].Visible"); bind.Mode = BindingMode.TwoWay; bind.ElementName = "map"; cbx.SetBinding(CheckBox.IsCheckedProperty, bind); bind = new Binding("Layers[" + lyr.ID + "].Opacity"); bind.Mode = BindingMode.TwoWay; bind.ElementName = "map"; sldr.Margin = new Thickness(-5, 0, 0, 0); sldr.Width = 50; sldr.Minimum = 0; sldr.Maximum = 1; sldr.SetBinding(Slider.ValueProperty, bind); bind = new Binding("Layers[" + lyr.ID + "].ID"); bind.Mode = BindingMode.OneWay; bind.ElementName = "map"; tblock.Margin = new Thickness(5, 0, 0, 0); tblock.SetBinding(TextBlock.TextProperty,bind); spNewItem.Children.Add(cbx); spNewItem.Children.Add(sldr); spNewItem.Children.Add(tblock); return spNewItem; }
Public ReadOnly Property FilteredViewableLayersList As List(Of Layer) Get Dim layerlist = From lc In _layerCollection Where lc.ID <> mcsHighlightedLayerName _ AndAlso lc.ID <> String.Empty Return layerlist.Reverse.ToList End Get End Property
Private Sub _layerCollection_CollectionChanged(ByVal sender As Object, ByVal e As System.Collections.Specialized.NotifyCollectionChangedEventArgs) Handles _layerCollection.CollectionChanged OnPropertyChanged("FilteredViewableLayersList") End Sub
LayerCollection layers = this.MyMap.Layers; IEnumerable<Layer> newOrder = layers.Reverse(); LayerCollection newLayers = new LayerCollection(); foreach (Layer l in newOrder) newLayers.Add(l); layers.Clear(); foreach (Layer l in newLayers) layers.Add(l);
Přihlášení členové mohou přispívat, sledovat aktualizace a další. Jste tu noví? Zaregistrujte si bezplatný účet.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.