private void draw_DrawComplete(object sender, DrawEventArgs e) { if (layer.LayerInfo.GeometryType == GeometryType.Polygon) { graphic.Attributes[layer.LayerInfo.TypeIdField] = typeId; Graphic graphic = new Graphic(); Polygon polygon = e.Geometry is Polygon ? result as Polygon : new Polygon(); if (e.Geometry is Envelope) polygon.Rings.Add(GetPointCollectionFromEnvelope(result as Envelope)); graphic.Geometry = polygon; layer.Graphics.Add(graphic); } } private PointCollection GetPointCollectionFromEnvelope(Envelope env) { PointCollection pc = new PointCollection(); pc.Add(new MapPoint(env.XMin, env.YMin)); pc.Add(new MapPoint(env.XMin, env.YMax)); pc.Add(new MapPoint(env.XMax, env.YMax)); pc.Add(new MapPoint(env.XMax, env.YMin)); pc.Add(new MapPoint(env.XMin, env.YMin)); return pc; } }
<UserControl x:Class="EditorDeMapas.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:esri="http://schemas.esri.com/arcgis/client/2009" xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="600" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:userControls="clr-namespace:ESRI.ArcGIS.SilverlightMapApp" xmlns:actions="clr-namespace:ESRI.ArcGIS.SilverlightMapApp.Actions"> <UserControl.Resources> <esriSymbols:SimpleFillSymbol x:Name="Default" Fill="#33FF0000" BorderBrush="Red" BorderThickness="2" /> <esriSymbols:SimpleFillSymbol x:Name="area" ControlTemplate="{StaticResource EstiloDefaultFillSymbol}"/> <esriSymbols:SimpleLineSymbol x:Name="linha" ControlTemplate="{StaticResource EstiloLineSymbol}"/> <esriSymbols:SimpleMarkerSymbol x:Name="ponto" ControlTemplate="{StaticResource EstiloMarkerSymbol}"/> </UserControl.Resources> <Grid x:Name="LayoutRoot" Background="{StaticResource BaseColor}"> <Border> <esri:Map x:Name="mapa" Background="Aqua" esri:Editor.SnapDistance="20" esri:Editor.SnapKey="S"> <esri:ArcGISDynamicMapServiceLayer ID="Mapa Base" ImageFormat="JPG" Url="http://192.168.5.4/ArcGIS/rest/services/MDSalvador/1MapaBase14-01-2011/MapServer"/> <esri:ArcGISDynamicMapServiceLayer ID="Sistema de Transporte" ImageFormat="PNG32" Url="http://192.168.5.4/ArcGIS/rest/services/MDSalvador/5MapaTopo14-01-2011/MapServer"/> <esri:ArcGISDynamicMapServiceLayer ID="Bairros" ImageFormat="PNG32" Url="http://192.168.5.4/ArcGIS/rest/services/MDSalvador/3SistemadeTransporte14-01-2011/MapServer"/> <esri:ArcGISDynamicMapServiceLayer ID="Mapa Topo" ImageFormat="PNG32" Url="http://192.168.5.4/ArcGIS/rest/services/MDSalvador/4Bairros03-11-2010-1/MapServer"/> <esri:ArcGISDynamicMapServiceLayer ID="Pontos de Referencia" ImageFormat="PNG32" Url="http://192.168.5.4/ArcGIS/rest/services/MDSalvador/6PontosDeReferencia03-11-2010-1/MapServer"/> <esri:FeatureLayer ID="featureParaArea" Url="http://192.168.5.104/ArcGIS/rest/services/Projeto_SL/FeatureServer/2" AutoSave="False" Mode="OnDemand" ValidateEdits="True" Visible="True" DisableClientCaching="True" /> <esri:FeatureLayer ID="featureParaLinha" Url="http://192.168.5.104/ArcGIS/rest/services/Projeto_SL/FeatureServer/1" AutoSave="False" Mode="Snapshot" ValidateEdits="True" Visible="True" DisableClientCaching="False" /> <esri:FeatureLayer ID="featureParaPontos" Url="http://192.168.5.104/ArcGIS/rest/services/Projeto_SL/FeatureServer/0" AutoSave="False" Mode="Snapshot" ValidateEdits="True" Visible="True" DisableClientCaching="False" /> </esri:Map> </Border> <esri:MapProgressBar Map="{Binding ElementName=mapa}" HorizontalAlignment="Center" VerticalAlignment="Center" Width="200" Height="12" Margin="0" BorderBrush="#FF18428C" Foreground="#FF18428C" Background="#FF26A1E2" d:LayoutOverrides="Height" Grid.Row="1"/> <Border VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,5,5,0"> <Border.Resources> <esri:Editor x:Key="editorGeral" Map="{Binding ElementName=mapa}" LayerIDs="featureParaPontos,featureParaLinha,featureParaArea"/> <esri:Editor x:Key="editorPonto" Map="{Binding ElementName=mapa}" LayerIDs="featureParaPontos"/> <esri:Editor x:Key="editorLinha" Map="{Binding ElementName=mapa}" LayerIDs="featureParaLinha"/> <esri:Editor x:Key="editorArea" Map="{Binding ElementName=mapa}" LayerIDs="featureParaArea"/> </Border.Resources> <StackPanel DataContext="{StaticResource editorGeral}"> <Button Content="Select" Command="{Binding Select}" CommandParameter="New" /> <Button Content="Add Selection" Command="{Binding Select}" CommandParameter="Add" /> <Button Content="Unselect" Command="{Binding Select}" CommandParameter="Remove" /> <Button Content="Clear Selection" Command="{Binding ClearSelection}" /> <Button Content="Add Default" Command="{Binding Add}" /> <StackPanel DataContext="{StaticResource editorPonto}"> <Button Content="Add Point" Command="{Binding Add}"/> </StackPanel> <StackPanel DataContext="{StaticResource editorLinha}"> <Button Content="Add Line" Command="{Binding Add}"/> </StackPanel> <StackPanel DataContext="{StaticResource editorArea}"> <Button Content="Add Area" Command="{Binding Add}"/> </StackPanel> <Button Content="Save" Command="{Binding Save}" /> <Button Content="Delete Selected" Command="{Binding DeleteSelected}" /> </StackPanel> </Border> </Grid> </UserControl>
<UserControl x:Class="EditorDeMapas.MainPage" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:esri="http://schemas.esri.com/arcgis/client/2009" xmlns:esriSymbols="clr-namespace:ESRI.ArcGIS.Client.Symbols;assembly=ESRI.ArcGIS.Client" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" mc:Ignorable="d" d:DesignWidth="800" d:DesignHeight="600" xmlns:i="clr-namespace:System.Windows.Interactivity;assembly=System.Windows.Interactivity" xmlns:userControls="clr-namespace:ESRI.ArcGIS.SilverlightMapApp" xmlns:actions="clr-namespace:ESRI.ArcGIS.SilverlightMapApp.Actions"> <UserControl.Resources> <esriSymbols:SimpleFillSymbol x:Name="Default" Fill="#33FF0000" BorderBrush="Red" BorderThickness="2" /> <esriSymbols:SimpleFillSymbol x:Name="area" ControlTemplate="{StaticResource EstiloDefaultFillSymbol}"/> <esriSymbols:SimpleLineSymbol x:Name="linha" ControlTemplate="{StaticResource EstiloLineSymbol}"/> <esriSymbols:SimpleMarkerSymbol x:Name="ponto" ControlTemplate="{StaticResource EstiloMarkerSymbol}"/> </UserControl.Resources> <Grid x:Name="LayoutRoot" Background="{StaticResource BaseColor}"> <Border> <esri:Map x:Name="mapa" Extent="-13054165,3850112,-13027133,3863559" esri:Editor.SnapDistance="20" esri:Editor.SnapKey="S"> <esri:ArcGISTiledMapServiceLayer ID="BaseLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer" /> <esri:FeatureLayer ID="featureParaPontos" Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/0" AutoSave="False" Mode="OnDemand" ValidateEdits="True" DisableClientCaching="True" /> <esri:FeatureLayer ID="featureParaLinha" Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/1" AutoSave="False" Mode="OnDemand" ValidateEdits="True" DisableClientCaching="True" /> <esri:FeatureLayer ID="featureParaArea" Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/HomelandSecurity/operations/FeatureServer/2" AutoSave="False" Mode="OnDemand" ValidateEdits="True" DisableClientCaching="True" /> </esri:Map> </Border> <Border VerticalAlignment="Top" HorizontalAlignment="Right" Margin="0,5,5,0"> <Border.Resources> <esri:Editor x:Key="editorGeral" Map="{Binding ElementName=mapa}" LayerIDs="featureParaPontos,featureParaLinha,featureParaArea"/> <esri:Editor x:Key="editorPonto" Map="{Binding ElementName=mapa}" LayerIDs="featureParaPontos"/> <esri:Editor x:Key="editorLinha" Map="{Binding ElementName=mapa}" LayerIDs="featureParaLinha"/> <esri:Editor x:Key="editorArea" Map="{Binding ElementName=mapa}" LayerIDs="featureParaArea"/> </Border.Resources> <StackPanel DataContext="{StaticResource editorGeral}"> <Button Content="Select" Command="{Binding Select}" CommandParameter="New" /> <Button Content="Add Selection" Command="{Binding Select}" CommandParameter="Add" /> <Button Content="Unselect" Command="{Binding Select}" CommandParameter="Remove" /> <Button Content="Clear Selection" Command="{Binding ClearSelection}" /> <Button Content="Add Default" Command="{Binding Add}" /> <StackPanel DataContext="{StaticResource editorPonto}"> <Button Content="Add Point" Command="{Binding Add}" CommandParameter="ponto"/> </StackPanel> <StackPanel DataContext="{StaticResource editorLinha}"> <Button Content="Add Line" Command="{Binding Add}" CommandParameter="{StaticResource linha}"/> </StackPanel> <StackPanel DataContext="{StaticResource editorArea}"> <Button Content="Add Area" Command="{Binding Add}" CommandParameter="{StaticResource area}"/> </StackPanel> <Button Content="Save" Command="{Binding Save}" /> <Button Content="Delete Selected" Command="{Binding DeleteSelected}" /> <!--<CheckBox IsChecked="{Binding Path=Freehand, Mode=TwoWay}" Content="Freehand Draw" VerticalAlignment="Center" />--> </StackPanel> </Border> </Grid> </UserControl>
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.