CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

想用builder来做一个简单的电子地图

楼主hkeelyz(hkee)2003-12-01 17:59:01 在 C++ Builder / 基础类 提问

在窗体里读取地图(bmp格式的),希望能够在上面设置节点(加一个节点图象),如进行添加,删除,设置属性等,而且还能对地图进行缩放,并把地图数据存放到xml文件里,有什么好的解决方案,能有实例参考就最好。  
  我想在地图上添加节点时动态产生一个TImage控件把节点图象放进去,并把坐标记录下来保存到xml文件中,但是如果进行了缩放后控件的坐标就变化了,要再进行鼠标点击实现添加,删除操作就觉得很困难,有什么好的解决方法吗? 问题点数:0、回复次数:10Top

1 楼HenryGo(孺子牛)回复于 2003-12-01 18:35:24 得分 0

挺好的想法  
  upTop

2 楼zcchm(lone wolf)回复于 2003-12-01 20:48:43 得分 0

你得把每个节点数据(结构体)保存在数据库中,呈树状图结构。最好结合TreeView来作。    
   
  导出数据时,需要考虑采用递归算法Top

3 楼constantine(飘遥的安吉儿)回复于 2003-12-01 20:56:33 得分 0

我说明,我不会。地图进行缩放等都还可以,就是不会并把地图数据存放到xml文件里。没有做过。  
  另外想问一下你的接点是怎么安排的?你随便放的,还是地图的固定位置??  
  Top

4 楼weibz0525(小虫)回复于 2003-12-02 08:50:20 得分 0

缩放的坐标可以定位的。你可以把缩放的系数固定下来,就是每次都放大一定的倍数,注意缩小和放大都应该有一定的界限。知道了放大倍数,已知原来的坐标点,不难求出新的坐标点。  
  Top

5 楼hkeelyz(hkee)回复于 2003-12-02 12:57:22 得分 0

如果对背景地图进行缩放,那节点的图象也要进行同样的缩放,如果有很多个这样的节点,这不是很麻烦?如果是这样做的话有什么效率比较高一点的算法进行缩放操作?假如是利用TImage控件来显示图象的话应该怎样对里面的图象进行缩放操作,TImage控件有没有位置坐标属性?因为我对builder不熟悉,所以想请教一下详细的控件使用。上面zcchm(执着的狼)   所说的结合TreeView是如何做的?怎样利用递归算法?  
  希望能够给出实例代码来参考一下。谢谢。Top

6 楼zcchm(lone wolf)回复于 2003-12-02 13:27:06 得分 0

为什么一定要按比例缩放呢???  
  我做过类似电子地图的程序,因为可能需要无穷的“下一级图层”,所以用到了递归。用TreeView就是为了有树状层次感。  
   
  你可以用一个小Image代表某个地方,然后在它的双击事件里,打开新的窗口,观察它的detail。  
   
  我觉得缩放不是真的很必要。  
  Top

7 楼hkeelyz(hkee)回复于 2003-12-02 15:10:22 得分 0

请问如何使用TreeView?其实这个地图主要是为了在上面配置节点,而缩放功能是人家的要求,如果不用Image控件的话可以用什么办法来实现呢?Top

8 楼xwhpc(xwh)回复于 2003-12-02 15:34:37 得分 0

我作此类时,是将所有关联图像加入到List中,当底图缩放,所有List中的尺寸、位置统一更改!Top

9 楼hkeelyz(hkee)回复于 2003-12-02 18:57:34 得分 0

怎么样对List中的图象的大小修改?是直接对图象本身做更改吗?Top

10 楼e_board(电动板车)回复于 2003-12-02 23:04:32 得分 0

我来谈一下我的想法:  
    我先定义了一个LIST  
      每一个接点就是图上的一个图形单体如:一条线、一段弧;  
      如下:  
          struct   SList{  
                                      Data;  
                                      PenStyle;  
                                      Color;  
                                      Next;  
                                        }  
  这样就将图上的每一个数化;再定义一个比例尺;  
        每一次放缩就读出数据重画一次;  
  存储的不是BMP,而是画图的数据;  
  我也在做一个这种东西,以来我对CANVAS的属性不清楚;也没有大量的时间  
  到现在还只是在规划。我认为这样可行。现在我遇到了几个具体的问题那位帮我以下  
  1。CANVAS上面的图有没有可以一次全部清除的方法;  
  2。画上的线怎么选中,象CAD中那样可以选中然后删除、修改等操作;  
  谢谢Top

相关问题

  • 想做个简单的电子地图!
  • [推荐]电子地图路网更新、采集简单了啦!!!
  • 做一个简单的类似于电子地图的东东
  • 做一个简单的类似于电子地图的东东
  • 本人用SVG作了一个简单的电子地图 欢迎参观!
  • 电子地图-mapinfo
  • java 电子地图?
  • 关于电子地图
  • PB做电子地图?
  • 有关电子地图(一)

关键词

  • 节点
  • 坐标
  • 控件
  • 算法
  • 数据
  • 属性
  • 文件
  • xml
  • 地图
  • 缩放

得分解答快速导航

  • 帖主:hkeelyz

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo