• ARCGIS动态画点


    小马哥淡定 原文 ARCGIS动态画点

    private void DrawPointOnMap(double x, double y,bool clear)
    {
        IMapControl2 pMapCtrl = (IMapControl2)mapCtrl.Object;
        IGraphicsLayer pGraphicsLyr = mapCtrl.Map.BasicGraphicsLayer;
        IActiveView pView = mapCtrl.ActiveView;
        IGraphicsContainer pGraphicsContainer = (IGraphicsContainer)pGraphicsLyr;
        IPoint pnt = new PointClass();
        pnt.X = x;
        pnt.Y = y;
    
        IScreenDisplay pDisp = pView.ScreenDisplay;
        pDisp.StartDrawing(pDisp.hDC, (short)(ESRI.ArcGIS.Display.esriScreenCache.esriNoScreenCache));
        pDisp.SetSymbol(new SimpleMarkerSymbolClass());
    
        //下面两句关键
        pGraphicsContainer.DeleteAllElements();
        pView.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);
        pDisp.DrawPoint(pnt);
    
        pDisp.FinishDrawing(); // When FinishDrawing is called, all the caches get flushed to the screen. FinishDrawing must be called before StartDrawing can be called again. 
        IMarkerElement pMkElmt = new MarkerElementClass();
        IElement pElmt = (IElement)pMkElmt;
        pMkElmt.Symbol = new SimpleMarkerSymbolClass();
        pElmt.Geometry = pnt;
    
        pGraphicsContainer.AddElement(pElmt, 0);
        IGeometry geo = pElmt.Geometry;
        //mapCtrl.FlashShape(geo, 5, 1000, null);
    
    }
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/arxive/p/6110196.html
Copyright © 2020-2023  润新知