Exemple #1
0
 private void OnClickSave(object sender, EventArgs e)
 {
     MapControl.AddOverlay(
         (int)numericUpDown1.Value,
         (int)numericUpDown2.Value,
         comboBox1.SelectedIndex,
         pictureBox1.BackColor,
         textBox1.Text);
     Close();
 }
        /// <summary>
        /// When the active map view changes, update the graphic overlay on the map control
        /// </summary>
        /// <param name="args"></param>
        private void OnMapViewCameraChanged(MapViewCameraChangedEventArgs args)
        {
            if (MapView.Active == null)
            {
                return;
            }
            if (MapView.Active.Extent == null)
            {
                return;
            }
            if (MapView.Active.ViewingMode != ArcGIS.Core.CIM.MapViewingMode.Map)
            {
                return;
            }

            //get the Map view's extent
            var viewExtent = MapView.Active.Extent.Clone() as Envelope;

            QueuedTask.Run(() =>
            {
                //Line symbol to be used to draw the overview rectangle.
                if (_lineSymbol == null)
                {
                    _lineSymbol =
                        SymbolFactory.Instance.ConstructLineSymbol(ColorFactory.Instance.RedRGB, 2.0, SimpleLineStyle.Solid);
                }

                _graphic?.Dispose();            //Clear out the old overlay

                _overviewEnvelope = viewExtent; //overview envelope based on active map view

                if (_overviewEnvelope == null)
                {
                    return;
                }
                //Creating the overview rectangle
                IList <MapPoint> segments = new List <MapPoint>
                {
                    MapPointBuilder.CreateMapPoint(_overviewEnvelope.XMin, _overviewEnvelope.YMin, _overviewEnvelope.SpatialReference),
                    MapPointBuilder.CreateMapPoint(_overviewEnvelope.XMax, _overviewEnvelope.YMin, _overviewEnvelope.SpatialReference),
                    MapPointBuilder.CreateMapPoint(_overviewEnvelope.XMax, _overviewEnvelope.YMax, _overviewEnvelope.SpatialReference),
                    MapPointBuilder.CreateMapPoint(_overviewEnvelope.XMin, _overviewEnvelope.YMax, _overviewEnvelope.SpatialReference),
                    MapPointBuilder.CreateMapPoint(_overviewEnvelope.XMin, _overviewEnvelope.YMin, _overviewEnvelope.SpatialReference)
                };
                _polyLine = PolylineBuilder.CreatePolyline(segments, _overviewEnvelope.SpatialReference);

                _graphic = _mapControl.AddOverlay(_polyLine, _lineSymbol.MakeSymbolReference());
            });
        }
Exemple #3
0
        public void DrawRoute(IActivity activity)
        {
            if (activity.GPSRoute != null)
            {
                List <IGPSPoint> points = new List <IGPSPoint>();
                for (int i = 0; i < activity.GPSRoute.Count; i++)
                {
                    GPSPoint p = (GPSPoint)activity.GPSRoute[i].Value;
                    points.Add(p);
                }

                MapPolyline newLine = new MapPolyline(points,
                                                      PluginMain.GetApplication().SystemPreferences.RouteSettings.RouteWidth,
                                                      PluginMain.GetApplication().SystemPreferences.RouteSettings.RouteColor);

                MapControl.AddOverlay(newLine);

                activityMapDrawn = true;
            }
        }