if(LPDISPATCH(r)) m_map.entrysetsetExtent(r);

在GIS行业里有二大公司一个就是ESRI,還有一个就是MapInfo公司。

在ESRI公司里它们的所有的GIS产品都是叫ArcGIS。包括:


ArcSDE是在数据库管理系统中存储和管理多用户空间数据库的通路
简单的说來就是一个网上的地图服务器。
ArcView是用于核心的制图还有GIS功能
ArcEditor包括了AcrView的全部功能,还增加了对空间数据库的编辑能力
ArcInfo包括了ArcView还有ArcEditor的功能,还有高级的空间处理能力是一个完全的GIS数据建立,更新查询制图和分析系统。
新版本的ESRI公司的产品里有一个ArcServer它将一些功能注册为一些WebServer减少了开发的次数。

在MapInfo公司里它们的地图编辑软件就是MapInfo。二次开发的组件就是MapX.

开始使用MO之前要了解一些这样的基本的概念MO显示是使用了一个MO的控件。它可以加载图层可以放大,缩小等等


每个图层都对应一个表,还有shp文件这个表中保存了本图层中全部的点线面嘚属性信息。我们可以对图层渲染让一些点可以把它的属性信息显示出来这就是所谓的标注。
还可以在图层里去找这个图层里找一些shp為它定位。
3.开始做加载图层你可以把你的exe程序的目录下新建一个地图文件夹,保存你这个程序需要加入的地图文件使用函数库里的AddLayer函數来加载图层。
4.放大缩小,漫游.映射好鼠标点击事件调用几个方法就可以实现三个功能。

//找到我们要查询的这个图层

//开始在这个图层裏查询

//取一个固定的比例已这个点对象为中心定位。

//选择将Name这个字段做为标注

//为这个标注对象设置字体

将标注对象与图层对象关连

7.如何茬已有图层里图点线,面

《亮剑Visual C++项目开发案例导航》第7章公交信息查询系统本章将向读者介绍公交信息查询系统的完整开发过程,除了进一步加强SQL语言的运用讲解巩固基本控件的使用外,还將介绍基于Visual C++ 6.0的MapObjects控件的使用方法本节为大家介绍地图放大、缩小的实现。

作者:胡超/闫玉宝来源:电子工业出版社| 10:26

上述代码通过switch语句判断當前用户的操作调用Pan()函数实现了地图的漫游。在地图放大时先调用TrackRectangle()函数获取地图的区域调用函数ScaleRectangle()设置放大系数,加载图层实现地图的放大下面介绍地图缩小的实现,代码如下:

第52~85行代码为地图缩小的实现获取鼠标按下的坐标后,设置比例系数通过SetExtent()函数实现地图縮小。

上述代码为地图的缩小地图的缩小同地图的放大是类似的,可以通过变量Number的递减完成下面分别实现了全图、道路属性、地物属性等数据显示,相关代码如下:

第86~101行代码实现了全图、道路属性、地物属性等操作的数据显示

第103~117行代码为将鼠标单击位置的坐标转換成地图的地理坐标显示在状态栏中,并把比例尺显示在状态栏中

上述代码中的case语句实现用户的其他操作,然后通过AfxGetApp()->m_pMainWnd获取到主框架的指針通过调用函数SetPaneText()完成了状态栏中坐标等数据的更新。

注意:switch括号中的变量为DWORD类型是我们在头文件中定义的判断当前的操作,而case 后面的參数为各种操作是在头文件中定义的宏


我要回帖

更多关于 list set map区别 的文章

 

随机推荐