- 1、本文档共58页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mapx学习笔资料手册
MAPX学习使用笔记 资料
Mapxtreme 下面应该有三种图层 一种是固定图层 当你新建一个固定图层的时候会生成*.tab等文件 一种是临时图层 不生成*.tab文件 一种是用户绘制图层 用户自己使用CDC(Graphics) 进行绘图 如果你想对多边形进行编辑 至少你要响应Mapxtreme的鼠标事件 通过鼠标事件来确定当前用户在进行何种操作。 一般的过程是这样的: 1.新建一个图层(建议临时图层或者用户绘制图层) 2.根据多边形的点的位置绘制图元或者用CDC绘制过变形 同时确定各个点在Mapxtreme地图窗口的位置 建立各个点的鼠标响应区域 3.通过鼠标落下的时候通过各个点的响应区域判断那个点被选中 鼠标移动 和抬起时要做响应的处理 来改变多边形选中点的位置 重重新给多边形的点赋值 如果使用临时图层 需要对临时图层里面的多边形图元的点参数进行更改 如果是CDC绘图的话只要更改CDC绘图即可 整个过程中需要考虑到地图坐标与Mapxtreme窗口坐标之间的转化。
作者/收集者:xyz2004
开发环境:MapX + Delphi
代码:
procedure?TForm1.Button2Click(Sender:?TObject);varlyrnew:CMapxLayer;ds:?CMapxDataset;rvs:?CMapxRowvalues;rv:?CMapxRowvalue;ptNew:?CMapXpoint;ftrNew:?CmapXFeature;beginlyrNew?=燤ap1.Layers.item(1);ds?=燤ap1地图窗口.Datasets.Add(miDataSetLayer,爈yrNew,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam,emptyparam);//rvs?=燿s.Rowvalues[1].Clone?rv:=燙oRowvalue.Create;rvs:=CoRowvalues.Create;rv.Dataset:=ds;rv.Fie ld:=ds.Fields.Item(1);?//假设mi表有两个字段,填充之rv.value?:=item1;rvs.Add(rv);rv.Field:=ds.Fields.Item(2);rv.value?:=item2;rvs.Add(rv);
ptNew:=CoPoint.Create;ptNew.Set_(map1.centerx,?map1.centery);ftrNew?:=?map1.FeatureFactory?.CreateSymbol(ptNew,emptyparam);ftrNew?:=?lyrNew.AddFeature(ftrNew,?rvs);?//?图元+属性,即feature+Rowvalues//ftrNew?=?lyrNew.AddFeature(ftrNew);//ftrNew.Update?(True,?rvs);
end.
代码名称:在MapX中实现图元闪烁原码
作者/收集者:zlx
开发环境:Delphi + MapX
代码:
MapX图元分三种类型:?1、线(Line),即miFeatureTypeLine?2、区域(Region),即miFeatureTypeRegion?3、点符号(Symbol),即miFeatureTypeSymbol?
加入一个时钟控件,并在时钟控件中实现以下代码:?
procedure?TMapFrm.tmFlashSelectTimer(Sender:?TObject);?var?ft:?CMapXFindFeature;?lyr:?CMapXLayer;?bExist:?Boolean;?i:?Integer;?str:?String;?ds:?CMapXDataset;?begin?bExist?=燜alse;?for爄?=?爐o爉apCity.Layers.Count燿o?begin?if爉apCity.Layers.Item[i].Name?爉_strSelLyr爐hen?begin?bExist?=燭rue;?break;?end;?end;?if爊o t燽Exist爐hen?begin?tmFlashSelect.Enabled?=燜alse;?MsgFrm?=燭MsgFrm.Create(S elf);?MsgFrm.m_strMsg?:=?Format(图层[%s]信息不存在!,[m_strSelLyr]);
文档评论(0)