• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

ArcGIS Pro二次开发-图层标注

 if (MapView.Active.GetSelectedLayers().Count != 1)
            {
                ArcGIS.Desktop.Framework.Dialogs.MessageBox.Show("One feature layer must be selected in the Contents pane. Exiting...", "Info");
                return;
            }

            var lyr = MapView.Active.GetSelectedLayers().First() as FeatureLayer;


            if (lyr == null) return;
            QueuedTask.Run(() =>
            {
                //Get the layer's definition
                //community sample Data\Admin\AdminSample.aprx
                var lyrDefn = lyr.GetDefinition() as CIMFeatureLayer;
                if (lyrDefn == null) return;
                //Get the label classes - we need the first one
                var listLabelClasses = lyrDefn.LabelClasses.ToList();
                var theLabelClass = listLabelClasses.FirstOrDefault();
                //set the label class Expression to use the Arcade expression
                theLabelClass.Expression = "return $feature.gisoracleid + TextFormatting.NewLine + $feature.objectid;";
                //Set the label definition back to the layer.
                lyr.SetDefinition(lyrDefn);
                lyr.SetLabelVisibility(true);
            });

 

posted on 2020-03-14 15:01  gisai  阅读(615)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3