delphi操作mapx部分技巧
更新时间:2023-10-22 08:56:01 阅读量: 综合文库 文档下载
Delphi
Mapx
中使用
目录
一.在地图上创建图层 ............................................................................................................. - 1 - 二.在符号图元中使用自定义位图 ......................................................................................... - 1 - 三.屏幕坐标向地图坐标的转换 ............................................................................................. - 2 - 四.查找某一城市 ..................................................................................................................... - 3 - 五. 鼠标点击选中一片区域 ...................................................................................................... - 3 - 六.从数据库绘制MapX地图 ................................................................................................. - 4 - 七.MapX使用数据库数据添加专题图 .................................................................................. - 6 - 八.在mapx中画圆 ................................................................................................................ - 10 - 九.动态加载一个目录下所有图层 ....................................................................................... - 11 -
安装好MapX后,选择Delphi的Component -> Import Active 菜单添加,MapInfo MapX组件。添加完成后,在ActiveX面板上,将会出来一个TMap控件。拖一个TMap控件到工程中改名为MainMap,这样就产生了一个TMap的对象。
一.在地图上创建图层
使用Layers属性的CreateLayer函数来创建一个图层
MainMap.Layers.CreateLayer(Name,[FileSpec],[Position],[KeyLength],[CoordSys]); 参数说明:
Name: 指定图层的名称
FileSpec: 所创建图层的路径名。如'c:\\china.tab'
Position: 它在图层列表中的初始位置.(其实就是在图层列表中的一个序列号) CoorSys: 指定存储新图层的坐标系。 附:图层类型参数: miLayerTypeNormal miLayerTypeRaster miLayerTypeSeamless miLayerTypeUnknown miLayerTypeUserDraw miLayerTypeDrilldown
FeatureFactory 对象的方法使您可以创建新的地图图元,也可通过对现有图元执行操作(例如缓冲区)来创建图元。以下是 FeatureFactory 对象的方法: BufferFeatures CombineFeatures CreateArc
CreateCircularRegion CreateEllipticalRegion CreateLine CreateRegion CreateSymbol CreateText EraseFeature IntersectFeatures IntersectionPoints IntersectionTest
二.在符号图元中使用自定义位图
定义一个cs: CMapXStyle 做为图元的样式属性设置
- 1 - - 1 -
cs := coStyle.Create;
cs.SymbolType := miSymbolTypeBitmap; cs.SymbolBitmapName := 'HOUS2-32.BMP';
cs.SymbolBitmapSize := 40;
注意: 自定义的位图一定要放到C:\\Program Files\\Common Files\\MapInfo Shared\\MapX Common\\CUSTSYMB 下,这是MapInfo安装的黩认共享路径。
三.屏幕坐标向地图坐标的转换
procedure TMapForm.Map1MouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var
lon, lat: Double;
singleX, singleY: Single; fs: CMapXFeatures; pnt: CMapXPoint; name: String;
begin
if Map1.CurrentTool = miArrowTool then begin
pnt := CoPoint.Create; singleX := X;
singleY := Y;
Map1.ConvertCoord(singleX, singleY, lon, lat, miScreenToMap); pnt.Set_(lon, lat);
fs := Map1.Layers.
Item('US Top 20 Cities').SearchAtPoint(pnt); if fs.Count > 0 then
begin
name := fs.Item(1).Name;
Application.MessageBox(PChar(name),'Info',0) end
else
Application.MessageBox('Nothing found', 'Nope', 0); end; end;
备注:
获取一个图元时最好用Layer.GetFeatureByID(FeatureKey);
- 2 - - 2 -
四.查找某一城市
procedure TForm2.SearchForCapital(Capital: String); var
FoundF:FindFeature; //在小城市层查 begin
FoundF := Map1.Layers.Item['US Minor Cities'].Find.Search(Capital, EmptyParam);
//在us minor cities层中查找capital if (FoundF.FindRC mod 10)=1 then begin
Map1.Layers.Item['US Minor Cities'].Selection.Replace(FoundF); Map1.Zoom := 60; //60英里 Map1.CenterX := FoundF.CenterX; Map1.CenterY := FoundF.CenterY; end else
Application.MessageBox('No exact match found.','Nope',0); end;
五. 鼠标点击选中一片区域
procedure TForm2.Map1ToolUsed(ASender: TObject; ToolNum: Smallint; X1, Y1,
X2, Y2, Distance: Double; Shift, Ctrl: WordBool; var EnableDefault: WordBool); var
ftrs:Features;// CMapXFeatures;
newJersey:FindFeature;// CMapXFindFeature; usaLayer:Layer;// CMapXLayer; pt: Point;
- 3 -
- 3 -
正在阅读:
delphi操作mapx部分技巧10-22
现代诗歌:我们的约定03-21
气象学作业04-22
养狗作文600字07-09
大型公司仓库管理手册05-03
大工17秋《应用统计》在线作业1 满分07-12
中央泵房改造设计(机电部分)(审核)05-10
从《弟子规》看“孝”的三重境界10-01
《爱家乡的文化》主题班会06-10
《弟子规》汉语拼音版10-02
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 操作
- 部分
- 技巧
- delphi
- mapx
- 长丰校长挂任名单- 庐阳区教育体育局
- 猪周期见大底! - 养殖行业深度报告
- 必修三第一章《算法初步》
- 基督教与西方文化 尔雅课后习题答案
- 提高学生数学归纳演绎能力的有效方法初探
- ARM-linux(ATSAM9261)开发笔记
- 隧道开题报告 - 图文
- 电梯毕业设计
- 在全县政府性投资项目推进工作会议上的讲话
- Encounter使用入门教程
- 对矿产资源价值与价格的辨证思考
- 液氨泄露案例分析
- 隐逸的山水田园 - 谢灵运与陶渊明、王孟的对比
- 商务酒店承包经营可行性分析
- “高效课堂”校本培训导学案
- 数字电子技术课程设计姚远 - 图文
- 创建“无泄漏工厂”的成功实践
- 2010-2012年三年 山东公务员面试真题
- 后张法20米简支梁计算书
- 2011台湾省直属事业单位考试公共基础知识必过技巧