当前位置:主页>仓库管理软件> 列表

delphi+arcgis的请进这!来者有分 找记账

库存管理软件版1楼: 我现在正用DELPHI进行ARCGIS的AO进行二次开发,有这方面经验的人请到这儿来讨论一些问题!
现在面临一个小问题就是  mapcontrol1.Extent:=mapcontrol1.FullExtent;这句代码老出错不知什么原因!QQ 12798466

2楼: 顶一把吧 如仓库管理软件破解版

3楼: 既然来者有分,我来一下。呵呵
ARCGIS是什么东东?
mapcontrol1.Extent:=mapcontrol1.FullExtent
把自己的属性给自己,是不是不妥呀。是不是应该换个思路。

4楼: 关注!~~~~~~~~~

5楼: 没有见过

6楼: 来一下,但没有见过

库存管理软件版7楼: 等着

8楼: mapcontrol1.activeview.Extent:=mapcontrol1.FullExtent

9楼: TMapData地图控件说明
-----------------------------Talent Corp. QQ:4818472
• MapX可以实现矢量图的绘制和控制,但不能响应短时间内大量用户的并发响应,而必须串行处理, 无法满足实际需求, SQL Server功能强大,速度快,可以响应并发请求, 但不能实现矢量图, 可以将两者结合,先把mapinfo矢量图的所有图元信息 (经纬度,颜色,符号...)导出到数据库中,然后在网络上访问,使用TCanvas对象进行绘制,注意经纬度和图形像素的转换, 速度很快,如果是C/S结构,能方便实现,如果是B/S结构, 必须下载ACTIVEX控件,等于只要下载图元记录,在客户端实现绘制,本方案完美实现矢量图和速度的结合,对用户数量没有限制, 因为利用了SQL服务器的高性能,且可以放弃mapx,对程序的部署和安装的压力大大减轻。
• 使用Delphi开发ActiveX控件TMapData,实现以上思路.适用于车辆监控和地图查询项目,并可根据实际项目修改控件,增加功能.
• 与MapX相比有以下特点
文件小:1M左右
简单:1天就可学会
地图数据与程序分离:地图数据存放在数据库中,而不是本地
地图数据透明:SQL Server数据库,可轻松维护
网络应用:局域网和互联网皆可,只要能连接数据库
并发性能:SQL Server的并发性能不用多说,地球人都知道
• 免费提供控件的DEMO版本(MapDataProj1.ocx)
• 免费提供测试程序源代码(delphi源码,如果没有装delphi,可以把pas文件改成txt进
行参考,如UnitTestMap.pas UnitTestMap.txt)
• DEMO版本只能连接本机数据库(IP:127.0.0.1)
• 免费提供测试网页(在IE中使用javascript调用ocx)


工作流程
1. 安装SQL Server 2000数据库服务器
2. 建立数据库(本例子中为 “DT”)
3. 把Mapinfo格式的地图文件中的所有图元信息倒入数据库(本例子已完成,从文件‘DT20060126.BAK’还原)
4. 安装控件TMapData(命令:‘regsvr32 D:\TMapData公开部分\控件\MapDataProj1.ocx’,路径看实际情况)
5. 使用连接方法连接数据库
6. 使用画图方法绘制图形
7. 使用控件的其他属性和方法控制图形


控件属性:
ServerIP:string 数据库服务器地址
UserName:string 数据库服务器帐号
PassWord:string 数据库服务器密码
DataBase:string 数据库名称,例子中为”DT”
Tool:string 地图操作工具
工具 含义
Big 放大
Small 缩小
Move 移动
Distance 两点距离测量
Select 选择
GstID:integer地图ID
SelectFeature:integer选中的图元编号
Connected:boolean 是否已连接数据库
CenterX:float 中心经度
CenterY:float 中心纬度
ViewDistance:float 视野宽度(公里)
Zoom:float 缩放比 100显示全图,50显示一半
GetJD(x: Integer): Single 得到经度.参数像素X
GetWD(y: Integer): Single 得到纬度,参数像素Y
GetDistance(x1, y1, x2, y2: Single): Single 得到两点距离,参数两点的经纬度
GetAngle(jd, wd, jdold, wdold: Single): Single 得到两点的角度,参数两点的经纬度
AngleName(Angle: Single): WideString 得到方向的名称,参数角度,返回”东,南,西,北...
Getx(JD: Single): Integer 得到像素X,参数经度
GetY(wd: Single): Integer 得到像素Y,参数纬度



GetWidth: Single 得到地图边界左右经度差
GetHeight: Single 得到地图边界上下纬度差
GetFeatures(x, y: Single;count: Integer): WideString 得到附近的图元,参数点的经纬度,想
得到图元的数量,返回CommaText(逗号分隔结果),
QueryFeature(const name: WideString): WideString 查询类似名称的图元,参数名称,
返回CommaText(逗号分隔结果)
ShowTempLayer: WordBool 是否显示临时图层
BackColor: Integer 背景颜色
QueryCenter(x, y, distance: Single): WideString 查询中心点附近的的点图元,参数经纬
度, 距离(公里), 返回CommaText(逗号分隔结果)
AllLayers: WideString 得到所有的层,返回CommaText(逗号分隔结果)
VisibleLayers(const Value: WideString) 设置可以显示的层,参数CommaText(逗号分隔
结果)


控件方法:
AboutBox:调用”关于”对话框
ConnectSQL:连接数据库
DrawMap(GstID: Integer):绘制城市地图,参数:地图ID,参考表map字段ID
LocateFeature(const name: WideString) 把图元的中心点作为地图的中心,参数图元名称
MoveTo(x, y: Single) 移动地图,参数:经纬度
AddTempPoint(const Name: WideString; jd, wd: Single;radius: Integer)
在临时图层上增加点,参数:图元名称,经纬度,半径
DeleteTempFeature 删除临时图元
AddTempLine(const name, nodes: WideString; Arrow: WordBool)
  在临时图层上增加线,参数:图元名称,节点(commatext),是否显示箭头
AddPoint(const Name: WideString; x, y: Single; LayerID: Integer)
在图层上增加点,参数:图元名称,经纬度,图层ID

控件事件:
ViewChanged(Sender: TObject):地图视野改变
MouseMove(ASender: TObject; x, y: Integer; jd, wd: Single):
鼠标移动,参数像素,经纬度
MouseDown(ASender: TObject; x, y: Integer; jd, wd: Single):
鼠标按下, 参数像素,经纬度
MouseUp(ASender: TObject; x, y: Integer; jd, wd: Single):
鼠标抬起, 参数像素,经纬度
Select(ASender: TObject; FeatureID: Integer; const FeatureName: WideString)
图元被选择,参数图元编号,图元名称
Distance(ASender: TObject; Distance: Single)
当使用距离工具的时候触发,参数距离(公里)

10楼: 问题已解决 
mapcontrol1.activeview.Extent:=mapcontrol1.FullExtent

11楼: 帮顶!



╭=========================================╮

80G海量源代码,控件,书籍全免费狂下不停!

http://www.source520.com

╰=========================================╯

12楼: 不知道大家都用的是什么GIS:arcGis、MapInfo、ImaGis...... 如记账

13楼: 领分了!
全面讲解

库存管理软件版14楼: 用delphi开发ARCGIS的人请留下QQ 或 邮箱 我的QQ是 12798466 Email : 291118@sina.com

15楼: 我用过这行代码,但是没有出错,你出的是什么错?