Exemplo n.º 1
0
        public override bool FinishDraw(object input, ref Geometry output, ref string errMsg)
        {
            DeleteGraphic(DRAFT);

            EventDetails eve = input as EventDetails;

            var key = _eventList.Keys.SingleOrDefault(x => eve.Point.X == x.X && eve.Point.Y == x.Y);

            if (key == null)
            {
                key = eve.Point;
                _eventList.Add(key, new List <EventDetails>());
                _eventList[key].Add(eve);
                AddGraphic(key, CURR_GEO, _eventList[key].Count, GeoStatus.Hilight);
            }
            else
            {
                _eventList[key].Add(eve);
                var g = GraphicsLayer.Graphics.First(x => (x.Geometry as MapPoint).X == key.X && (x.Geometry as MapPoint).Y == key.Y);
                if (_layerInfo.MarkerType == MapEventLayer.EventMarkerType.Proportional)
                {
                    g.Symbol = _layerInfo.GetProportionalSymbol(_eventList[key].Count, GeoStatus.Hilight);
                }
            }

            return(true);
        }