Пример #1
0
        private void AddNetworkCoverageAndTool()
        {
            INetworkCoverage networkCoverage = new NetworkCoverage { Network = network };
            networkCoverageLayer.NetworkCoverage = networkCoverage;

            ((FeatureCollection)networkCoverageLayer.LocationLayer.DataSource).AddNewFeatureFromGeometryDelegate =
                AddFeatureFromGeometryDelegate;

/* no references to DeltaShell, TODO: move LayerPropertiesEditor into SharpMap.UI
            mapControl.MouseDoubleClick += delegate
            {
                var dialog = new LayerPropertiesEditorDialog(networkCoverageLayer.SegmentLayer);
                dialog.Show(mapControl);
            };
*/

            mapControl.Map.Layers.Add(networkCoverageLayer);

            var networkCoverageTool = new NewNodeTool(networkCoverageLayer.LocationLayer);
            mapControl.Tools.Add(networkCoverageTool);
            mapControl.SnapRules.Add(new SnapRule
            {
                SourceLayer = networkCoverageLayer.LocationLayer,
                TargetLayer = branchLayer,
                SnapRole = SnapRole.FreeAtObject,
                Obligatory = true,
                PixelGravity = 40
            });
            return;
        }
Пример #2
0
        private void AddCulvertLayerAndTool()
        {
            
            var culverts = new EventedList<TestBranchFeature>();
            culvertLayer.DataSource = new FeatureCollection {Features = culverts};
            //culvertLayer.VectorLayer.Name = "culverts"; 
            culvertLayer.Enabled = true;
            culvertLayer.Style = new VectorStyle();
            culvertLayer.Style.Fill = new SolidBrush(Color.Tomato);
            culvertLayer.Style.Symbol = null;
            culvertLayer.Style.Line = new Pen(Color.Turquoise, 3);
            mapControl.Map.Layers.Insert(0, culvertLayer);

            //mapControl.SnappingStrategiesByLayer[culvertLayer].Add(
            //    new SnapStrategy(branchLayer, SnapRole.FreeAtObject, 40));

            var newNodeTool = new NewNodeTool(culvertLayer);
            mapControl.Tools.Add(newNodeTool);
        }