예제 #1
0
        public override void MapViewTapped(MapView mapView, MapViewInputEventArgs e, bool drawing)
        {
            if (!drawing)
            {
                return;
            }

            DeleteGraphic(DRAFT);
            _newPoint = (MapPoint)GeometryEngine.Project(e.Location, SpatialReferences.Wgs84);

            AddGraphic(_newPoint, DRAFT, MapPointLayer.GetSymbol(GeoStatus.Hilight));
        }
예제 #2
0
        public override void Init(IGeoInfo geo, bool isCur, List <Envelope> shapeList, List <MapPoint> pointList)
        {
            GraphicsLayer.Graphics.Clear();

            MapPoint point = geo.ConvertTo <PointGeoInfo>()?.Point;

            if (point != null)
            {
                AddGraphic(point, CURR_GEO, MapPointLayer.GetSymbol(isCur ? GeoStatus.Hilight : GeoStatus.Reference));
                pointList.Add(point);
            }
        }
예제 #3
0
        public override bool FinishDraw(object input, ref Geometry output, ref string errMsg)
        {
            if (_newPoint == null)
            {
                errMsg = "No point has been set.";
                return(false);
            }

            DeleteGraphic(DRAFT);
            DeleteGraphic(CURR_GEO);

            AddGraphic(_newPoint, CURR_GEO, MapPointLayer.GetSymbol(GeoStatus.Hilight));

            output = _newPoint;
            return(true);
        }
예제 #4
0
 public override void ClearHilight()
 {
     ChangeGraphicSymbol(CURR_GEO, MapPointLayer.GetSymbol(GeoStatus.Normal));
 }