void CmapwingisTest2View::OnToolsAdd32780()

{

TCHAR szFilters[]= _T("SHP Files (*.shp)|*.shp||");

CFileDialog fileDlg (TRUE,_T("shp"),_T("*.shp"),

OFN_FILEMUSTEXIST| OFN_HIDEREADONLY, szFilters, this);

if( fileDlg.DoModal ()!=IDOK )   return;

CString m_strFilePath = fileDlg.GetPathName();

if (_T("")!=m_strFilePath)

{

// 先删除所有图层

//m_map.RemoveAllLayers();

// 获取后缀名判断文件是tif图像还是shp文件

CString strExt = m_strFilePath.Right(3);

if (_T("shp")==strExt)

{

mapWindow::IShapefilePtr pshapefilebound;

pshapefilebound.CreateInstance(__uuidof(mapWindow::Shapefile));

pshapefilebound->Open(_bstr_t(m_strFilePath),false );

m_map.AddLayer( pshapefilebound,TRUE) ;

mapWindow::ILabelsPtr labels=pshapefilebound->GetLabels( );//?

labels->PutFontSize(12);

labels->PutFontBold(true);

labels->PutFontOutlineVisible(true);

labels->PutFontOutlineWidth(4);

mapWindow::ILabelCategoryPtr cat;

labels->AddCategory("Red");

long fieldIndex = 1;//默认首个列

CString str;

IFieldPtr Fields;

//pshapefilebound->GetField(0);

_variant_t var;

for (long i = 0; i < pshapefilebound->GetNumShapes() ; i++)

{

IShapePtr shp =  pshapefilebound->GetShape(i);

IPointPtr pt= shp->GetCenter(   );

var = pshapefilebound->GetCellValue(fieldIndex, i);

str = var.bstrVal; //需要判断本列是否为文本,待解决

labels->AddLabel( _bstr_t(str ),pt->Getx(),pt->Gety(),0,laCenter);

}

labels->put_Synchronized(true);

实现shape图层添加label的更多相关文章

  1. MeteoInfo-Java解析与绘图教程(七)_图层添加站点名称或区域名称

    MeteoInfo-Java解析与绘图教程(七)_图层添加站点名称或区域名称 在上文说了用自动站的数据经过插值绘制色斑图,这种一般是在geoserver上叠加图片呈现,但遇到后端导出图片,我们又想添加 ...

  2. java PDF添加图层,支持多页图层添加

     java PDF添加图层,支持多页图层添加 代码: import java.io.File; import java.io.FileOutputStream; import java.io.IOEx ...

  3. arcgis jsapi接口入门系列(3):各种类型的图层添加

    这里说的tomcat切片,是指arcgis server切片后,把切片图片文件用tomcat发布(其他任意web服务器发布都行) //添加tomcat切片图层 addTomcatTileLayer: ...

  4. WPF 在绘图控件(Shape)中添加文字 [2018.7.15]

    原文:WPF 在绘图控件(Shape)中添加文字 [2018.7.15] Q:使用Shape的子类Ellipse画一个圆,如何在圆中添加文字? A:Shape类中不包含Text属性.可使用Shape类 ...

  5. 【转】ArcGIS Server 10.1 动态图层—添加栅格

    本文将介绍如何通过arcgisserver10.1动态图层添加栅格影像.与添加矢量数据不同的是,天际栅格用到了RasterDataSource接口,如下所示 <esri:DynamicLayer ...

  6. ArcGIS图层添加字段出现:“定义了过多字段”

    首先,我图层数据格式为mdb,也就是Access数据库 Access一个表最大支持255个字段,可是我的才添加第一个字段就出现"定义了过多字段"的错误 打开ArcMap添加字段也是 ...

  7. Winform添加Label

    Info from : http://www.csharpwin.com/csharpspace/6253r7952.shtml 本例子主要是介绍如何在 C#开发WinForm中加入一个组件,如果你想 ...

  8. js给图层添加动态样式

    需求:需要在视窗内随意点击对应位置,图层从上到下匀速运动到指定位置 html <img id="moveDot" class="moveDot" src= ...

  9. Qt button按钮添加Label标签播放GIF图片

    QPushButton btn = new QPushButton(); QVBoxLayout* layout = new QVBoxLayout(btn); QLabel* label = new ...

随机推荐

  1. sql server join联结

    join学习起来有点乱,现做如下整理: table A id abc 1 a 2 b 3 c 4 d table B id abc 1 e 2 a 3 f 4 c --join或者inner join ...

  2. 02Spring基于xml的IOC配置--实例化Bean的三种方式

    maven依赖 <dependencies> <!--IOC相关依赖--> <dependency> <groupId>org.springframew ...

  3. 如何在Python中快速画图——使用Jupyter notebook的魔法函数(magic function)matplotlib inline

    如何在Python中快速画图--使用Jupyter notebook的魔法函数(magic function)matplotlib inline 先展示一段相关的代码: #we test the ac ...

  4. php 中php-fpm工作原理

    1.CGI 是服务器与后台语言交互的协议,有了这个协议,开发者可以使用任何语言处理服务器转发过来的请求,动态地生成内容, 保证了传递过来的数据是标准格式的(规定了以什么样的格式传哪些数据(URL.查询 ...

  5. 19 Python之面向对象(成员)

    1. 成员 在类中你能写的所有内容都是类的成员 2. 变量 1. 实例变量: 由对象去访问的变量. class Person: def __init__(self, name, id, gender, ...

  6. ES6基本常见语法

    特色:写法更加优雅,更加像面像对象的编程,其思想和 ES5 是一致的. 箭头函数.this ES6中可以使用 => 作为函数表达形式,极简风格,参数+ => +函数体. var foo = ...

  7. openCV3 Python编译指南

    这里主要对openCV官网的<Installation in Linux>文档进行了翻译和解释 原文见:https://docs.opencv.org/3.4.1/doc/tutorial ...

  8. Nginx默认配置语法

    Nginx默认配置语法 1. 我们进入  /etc/nginx/目录下,打开  nginx.conf文件 2. 我们来解析下 这里面标签和各模块的作用 # 设置nginx服务的系统使用用户 user ...

  9. 设置Linux之CentOS7的网络的两种方式动态IP+静态IP

    1 动态IP 参考之前的文章 点击进入 2 静态IP vi /etc/sysconfig/network-scripts/ifcfg-ens33 详情配置如下,上面半部分是我之前的动态IP的设置 静态 ...

  10. MP4 ISO基础媒体文件格式 摘要 1

    目录 Object-structured File Organization 1 File Type Box (ftyp) Box Structures File Structure and gene ...