MAPGIS 开发问题.doc
文本预览下载声明
mapgis开发问题22008-04-07 18:21
39、问:如何在map对象中实现只对激活的maplayer进行编辑和操作?[/B]
答:selectpoint方法可以选中所有的打开的点文件中的点。而不仅仅是你激活的那个layer。在最新的mapgis中对maplayer增加了一个selected的标志。如果该标志设为1,则selectpoint会在这个layer上做操作。相反,则不会影响这个layer。
40、问:在mapgis输入编辑里有个功能叫“根据属性赋参数”,请问二次开发里提供这个功能吗?如果有怎么用,在哪里可以找到;如果没有怎么根据属性筛选符合条件的点。
答:、“根据属性赋参数”实际上就是找出那些满足你给定的属性条件的图元,然后给他们参数的某一项,或者某几项。用AttAsktoList即可,具体可参考vb开发示例。(MPGIS.COM.CN下载区)
41、问: 用Gisedit1.SelectGraphics选中图元后,如何取得其属性值,请用VB示范一下,谢谢!
答:可以自己写一个交互操作,用鼠标双击、或者拉框来查询图元。对于鼠标双击可以直接调用nearlin...,对于拉框可用rectasktolist来查询。前者得到图元实体好,后者得到实体号列表。然后用这些实体号即可取属性即可得到相应的属性。
42、问:有关IMS 的浏览查询的问题
我想在IMS中实现浏览查询功能,能不能按照如下的思路做:
1 选定某一个工作区;
2 找出该工作区的所有图元
3 显示该图元的信息
问题是:怎么样找出一个工作区的所有图员
dim PrjItem
set PrjItem = Server.CreateObject(MpMapCom.MpPRJITEM.1)
Session(MapViewObject).ViewPrj.GetItem i,PrjItem
这样能得到i对应的工作区,下面该怎么得到此工作区的所有图元呢?
答:要得到图元,是用户进行查询的,而查询有多种查询方法,可以模糊、点击等等,如果用添加查询,就用函数gisSearchByStr,点击就用gisSearchByHitting等等,lib库中有这样的函数,web开发实例中也有这样的例子,您可以看看那里的例子,希望对您有所帮助
49、问:请教关于定位的问题。在一个工作区里面,我使用SelectRegion方法获得一个selectset,想把它放大显示在屏幕中央,该如何操作,使用那一个对象或是方法??最好给几句代码(vb)。3Q答:首先,取出集合中实体图形信息(Info)使用EditView.SetMapRange(MapRect As D_Rect)方法更改图形信息中的区域范围(D_Rect)。50、问:动画功能如何实现?如何在有向的道路中心线上实现车行的模拟?即在道路上定两个点,以一定的速度,模拟汽车(符合)在两个点间的动态的行走,能否给个简单的demo。答:MAPGIS属性数据支持动画类型的数据,不需要什么示例,你只要把相应的动画剪辑(世面上有专门制作这种闪图的软件)建立到属性库中就可以了,在相应的地方调用程序执行就行了。
51、问: 请教大师:如何用vb实现mapgis投影变换中的“用户的文件投影转换”的功能;答:使用以下方法,用对话框设置投影变换。Function SetInPara([move As Integer], [EnableEdit As Integer = 1]) As Boolean???? 在PRJTRANSCOMLib.PrjTrans对象中52、问:mapgis的帮助中讲的图元号和实体号是一个意思吗?答:GIS里的一些专业术语是有些比较难懂,图元号与实体号是一个意思。53、问: _EditAtt这个函数包含联动的功能吗?我使用_EditAtt不能实现图形的联动,请问还需要使用别的函数吗?答:_EditAtt函数会弹出一个窗体,返回值是这个窗口的句柄。程序实现联动就是这个窗口和图形所在的视图窗口之间互相通信的结果。当在属性编辑窗口中编辑某个记录的字段时会像视图窗口发送消息MGM_FLASH_GRAPH,该消息的wParam参数为属性窗口状态,它可以是下列宏定义之一:BEGIN_EDATT:?? 表示开始编辑属性。EDITING_ATT:?? 表示正在编辑属性。END_EDATT??? :?? 表示结束编辑属性。属性窗口发送此状态时,属性窗口没有撤消。一般情况,属性窗口发送的所有MGM_FLASH_GRAPH消息中,开始时为BEGIN_EDATT状态,最后为END_EDATT状态,中间为若干EDITING_ATT状态。lParam参数为指向MGMSG结构的指针,该指针所指结构空间属于属
显示全部