【old】mapX距离工具源码,delphi7+mapx5.0

简介:


delphi7+mapx5开发的测量距离工具,界面和mapinfo一样,使用十分简单。

Author: 杜长宇 junqilian@163.com
Purpose: 量距离工具
History: 2005-05-21

开发环境: delphi7+mapX 5.02.38
windows XP Sp2

许可:
您可以自由的使用本代码进行学习或非商业、商业应用,
你可以自由更改本代码以便更适合你的应用,但请保留原作者版权信息;
如果你对本代码作过修改优化,请添加详细注释后重新发布到网上,并发给原作者一份拷贝,以利于大家共同进步;

用法:
1、主程序中uses TDistanceToolClass;
2、在主程序窗体中放置ToolButtonDistance
3、添加事件处理函数,形如:
procedure TForm1.ToolButtonDistanceClick(Sender: TObject);
var
m_MapDistanceTool : TDistanceTool;
begin
m_MapDistanceTool := TDistanceTool.Create;
m_MapDistanceTool.CreateDistanceTool(map1);
Map1.CurrentTool := m_MapDistanceTool.GetToolNum;
end;

突然想起来上传的代码里可能有个函数没包含进去,其实也很简单了,我把代码贴出来。

{-----------------------------------------------------------------------------
Procedure: TdchyMapModule.GetChineseMapUnit
Author: duchangyu
Date: 02-六月-2005
Arguments: var currentMap: TMap; mapUnit: TOleEnum
Result: string

得到中文的地图单位字符串
-----------------------------------------------------------------------------}

function TdchyMapModule.GetChineseMapUnit(var currentMap: TMap;
mapUnit: TOleEnum): string;
begin
case mapUnit of
miUnitMile : result := '英里';
miUnitKilometer : result := '千米';
miUnitInch : result := '英寸';
miUnitFoot : result := '英尺';
miUnitYard : result := '码';
miUnitMillimeter : result := '毫米';
miUnitCentimeter : result := '厘米';
miUnitMeter : result := '米';
miUnitSurveyFoot : result := 'SurveyFoot';
miUnitNauticalMile : result := '海里';
miUnitTwip : result := '缇';
miUnitPoint : result := '点';
miUnitPica : result := 'Pica';
miUnitDegree : result := '度';
miUnitLink : result := 'Link';
miUnitChain : result := 'Chain';
miUnitRod : result := 'Rod';
end;
end;


以下内容只有 回复 后才可以浏览

{-----------------------------------------------------------------------------
Procedure: TdchyMapModule.AutoPan
Author: duchangyu
Date: 02-六月-2005
Arguments: var m_pMap: TMap; mapX, mapY, deltaXScale, deltaYScale: double
Result: None

鼠标到底地图边界时自动移图
-----------------------------------------------------------------------------}

procedure TdchyMapModule.AutoPan(var m_pMap: TMap; mapX, mapY,
deltaXScale, deltaYScale: double);
var
maxX, maxY, minX, minY: double;
deltaX, deltaY: double;
begin
// 当mapX,mapY点到达屏幕距边界还有1/deltaXScale水平和1/deltaYScale垂直时,自动移动屏幕1/deltaXScale(水平)和1/deltaYScale(垂直)
maxX := m_pMap.Bounds.XMax;
minX := m_pMap.Bounds.XMin;
maxY := m_pMap.Bounds.YMax;
minY := m_pMap.Bounds.YMin;
deltaX := (maxX - minX) / deltaXScale;
deltaY := (maxY - minY) / deltaYScale;
if (mapX < minX + deltaX) then
m_pMap.CenterX := m_pMap.CenterX - (minX - mapX) - deltaX
else if (mapX > maxX - deltaX) then
m_pMap.CenterX := m_pMap.CenterX + (mapX - maxX) + deltaX;
if (mapY < minY + deltaY) then
m_pMap.CenterY := m_pMap.CenterY - (minY - mapY) - deltaY
else if (mapY > maxY - deltaY) then
m_pMap.CenterY := m_pMap.CenterY + (mapY - maxY) + deltaY;

end;

 

 

2005527114030697.rar





本文转自峻祁连. Moving to Cloud/Mobile博客园博客,原文链接:http://www.cnblogs.com/junqilian/archive/2009/11/03/1595286.html,如需转载请自行联系原作者

目录
打赏
0
0
0
0
23
分享
相关文章
从零开始的unity3d入门教程(二)----基本功能讲解
这是一篇Unity3D入门教程,详细介绍了Unity界面操作、游戏物体创建修改、场景搭建、玩家控制、音效添加以及游戏测试和导出的全过程。
从零开始的unity3d入门教程(二)----基本功能讲解
还有这种操作?--掌握了这些小技巧,让你事半功倍(Unity3D)(三)
掌握一些Unity编辑器的小技巧,会让你开发以及使用更加快捷有效。这篇文章就分享一些Unity在使用使用的一些小技巧,有什么不对的记得留言哦。
还有这种操作?--掌握了这些小技巧,让你事半功倍(Unity3D)(二)
掌握一些Unity编辑器的小技巧,会让你开发以及使用更加快捷有效。这篇文章就分享一些Unity在使用使用的一些小技巧,有什么不对的记得留言哦。
还有这种操作?--掌握了这些小技巧,让你事半功倍(Unity3D)(一)
掌握一些Unity编辑器的小技巧,会让你开发以及使用更加快捷有效。这篇文章就分享一些Unity在使用使用的一些小技巧,有什么不对的记得留言哦。
【Unity3D 灵巧小知识点】 ☀️ | Unity中如何使用代码切换场景
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
【Unity3D 灵巧小知识点】 ☀️ | Unity中如何使用代码切换场景
【Unity3D 灵巧小知识点】☀️ | Unity 移动物体到指定位置的几种方法【精选快捷使用】
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 | Unity中 OnEnable 和 Awake、Start 的区别
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。 包括游戏开发、r美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。 Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
【Unity3D 灵巧小知识点】 ☀️ | Unity脚本中获取 本地时间
Unity 小科普 老规矩,先介绍一下 Unity 的科普小知识: Unity是 实时3D互动内容创作和运营平台 。

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等