博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ARCGIS部分刷新
阅读量:4982 次
发布时间:2019-06-12

本文共 1757 字,大约阅读时间需要 5 分钟。

PartialRefresh方法是部分刷新,效率方面比单纯的Refresh方法高很多。调用Refresh总是绘画毎一个对象。这是非常低效的。所以应该多使用PartialRefresh方法而少用Refresh。

刷新图层:

pMap.PartialRefresh(esriViewGeography, pLayer, null);

刷新所有图层:

pMap.PartialRefresh(esriViewGeography, null, null);

刷新所选择的对象:

pMap.PartialRefresh(esriViewGeoSelection, null, null);

刷新标注:

pMap.PartialRefresh(esriViewGraphics, null, null);

刷新图元

pLayout.PartialRefresh(esriViewGraphics, pElement, null);

刷新所有图元

pLayout.PartialRefresh(esriViewGraphics, null, null);

刷新所选择的图元

pLayout.PartialRefresh(esriViewGraphicSelection, null, null);

特殊的对于清除选择集,要在清除前后均进行一次刷新

1: public void ClearSelectedMapFeatures(ESRI.ArcGIS.Carto.IActiveView activeView, ESRI.ArcGIS.Carto.IFeatureLayer featureLayer)
2: {
3:   if(activeView == null || featureLayer == null)
4:   {
5:     return;
6:   }
7:   ESRI.ArcGIS.Carto.IFeatureSelection featureSelection = featureLayer as ESRI.ArcGIS.Carto.IFeatureSelection; // Dynamic Cast
8:   // Invalidate only the selection cache. Flag the original selection
9:   activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeoSelection, null, null);
10:   // Clear the selection
11:   featureSelection.Clear();
12:   // Flag the new selection
13:   activeView.PartialRefresh(ESRI.ArcGIS.Carto.esriViewDrawPhase.esriViewGeoSelection, null, null);
14: }

另外,对于如果对地图进行刷新、闪烁的时候,会出现先闪烁后刷新的问题,这是要添加相应的语句进行处理。

1: m_activeView.Refresh();//或者是某种部分刷新的语句
2: m_mapControl.FlashShape(...);

出现这个问题好像是由于图形显示和闪烁不在同一个线程中执行导致的。闪烁图形是一个很快的操作,而刷新背景却需要比较复杂的计算,所以先出来的语句 后执行结束。使用 m_activeView.UpdateWindow后就可以让代码在此等待。等到刷新确实搞定了。才开始执行FlashShape。使用下面的方法就可以解决这个问题:

1: m_activeView.Refresh().//获者是某种部分刷新语句
2: m_activeView.UpdateWindow();//这条语句是关键 。
3: m_mapControl.FlashShape(...);

转载于:https://www.cnblogs.com/Jingkunliu/archive/2013/01/10/2854710.html

你可能感兴趣的文章
设置遮罩层
查看>>
Catalyst 3850 升级-1
查看>>
static
查看>>
python模块之time模块
查看>>
创建一个随机对象列表
查看>>
省市联动 js
查看>>
常用HTTP状态码
查看>>
WebAPI GET和POST请求的几种方式
查看>>
re 模块 常用正则表达式符号 最常用的匹配语法
查看>>
python3之迭代器&生成器
查看>>
Android中级第八讲--安卓子线程,以及定时任务使用讲解
查看>>
一对多的两个表,查询主表的信息和主表在子表中的记录条数
查看>>
主题演讲:未来新趋势电动车
查看>>
常用DNS列表(电信、网通)
查看>>
LeetCode-178:分数排名
查看>>
转:退火算法 Simulate Anneal Arithmetic (SAA,模拟退火算法)
查看>>
Django电商项目---完成商品主页显示day2
查看>>
如何解决文章格式化编辑器win7 64位下找不到Comctl32.ocx
查看>>
核心动画-翻页效果的实现
查看>>
微信小程序弹出框 页面依然可以滑动的解决
查看>>