SuperMap实验报告文档格式.docx
《SuperMap实验报告文档格式.docx》由会员分享,可在线阅读,更多相关《SuperMap实验报告文档格式.docx(17页珍藏版)》请在冰点文库上搜索。
放大
SuperMap1.Action=scaZoomIn
EndSub
PrivateSubCommand2_Click()'
缩小
SuperMap1.Action=scaZoomOut
PrivateSubCommand3_Click()'
漫游
SuperMap1.Action=scaPan
PrivateSubCommand4_Click()'
选择
SuperMap1.Action=scaSelect
PrivateSubCommand5_Click()'
全图显示
SuperMap1.ViewEntire
结果:
1)放大;
2)缩小
3)漫游
4)全图显示;
5)选择
3、系统具有自动滚屏功能;
PrivateSubOption1_Click()
IfOption1.Value=TrueThen
SuperMap1.MarginPanEnable=True
SuperMap1.MarginPanPercent=0.2
SuperMap1.MarginPanWidth=10
EndIf
PrivateSubOption2_Click()
SuperMap1.MarginPanEnable=False
4、当用鼠标选中某一多边形对象时,该对象放大到充满整个地图窗口;
先选择‘选择’按钮进行选择,然后点击‘全屏放大对象’,代码如下:
PrivateSubCommand1_Click()
DimselAssoSelection
DimresetAssoRecordset
Setsel=SuperMap1.Selection
Setreset=sel.ToRecordset(False)
SuperMap1.EnsureVisibleRecordsetreset
SuperMap1.Refresh
5、编写代码,通过消息框(MsgBox)或其他方式输出本系统数据图层的个数;
代码如下:
PrivateSubCommand2_Click()
DimlayersAssoLayers
DimlaycountAsInteger
Setlayers=SuperMap1.layers
laycount=layers.Count
MsgBox"
地图中共有"
+Str(laycount)+"
个图层"
vbOKOnly
Setlayers=Nothing
6、对视图实现锁定功能,防止视图的无限制的缩小和漫游;
PrivateSubCommand3_Click()
IfSuperMap1.LockMapViewBounds=TrueThen
SuperMap1.LockMapViewBounds=False
Else
SuperMap1.LockMapViewBounds=True
EndIf
7、编写代码实现地图的偏移,使地图中心点坐标(X,Y)分别偏移100个单位;
PrivateSubCommand4_Click()
DimdmapxAsDouble
DimdmayyAsDouble
DimdoffsetxAsDouble
DimdoffsetyAsDouble
dmapx=100
dmapy=100
doffsetx=dmapx+SuperMap1.ViewBounds.CenterPoint.x
doffsety=dmapy+SuperMap1.ViewBounds.CenterPoint.y
SuperMap1.Pan2doffsetx,doffsety
8、写出在图层上画点、线和矩形(用红色显示)的程序代码;
PrivateSubCommand12_Click()
SuperMap1.Action=scaTrackPoint
PrivateSubCommand13_Click()
SuperMap1.Action=scaTrackPolyline
PrivateSubCommand9_Click()
SuperMap1.Action=scaTrackPolygon
PrivateSubSuperMap1_Tracked()
DimoAssoGeometry
DimpAsNewsoStyle
p.PenColor=vbRed
Seto=SuperMap1.TrackedGeometry
SuperMap1.TrackingLayer.AddEvento,p,"
"
9、实现信息查询功能,当用鼠标选中某一对象后,用列表框或消息框输出该对象的某些属性信息。
PrivateSubCommand10_Click()
PrivateSubSuperMap1_GeometrySelected(ByValnSelectedGeometryCountAsLong)
DimobjRecordSetAssoRecordset
'
属性对象
DimiAsInteger
循环变量
DimstrName(20)AsString
存储属性名
DimstrValue(20)AsString
存储属性值
DimstrMessageAsString
显示所有信息
SetobjRecordSet=SuperMap1.Selection.ToRecordset(False)
提取所选对象的属性数据
objRecordSet.MoveFirst
移到第一条属性
Fori=1ToobjRecordSet.FieldCount
strName(i-1)=objRecordSet.GetFieldInfo(i).Name
得到属性名
strValue(i-1)=objRecordSet.GetFieldValue(i)
得到属性值
Next
strMessage="
Fori=0ToobjRecordSet.FieldCount
strMessage=strMessage&
strName(i)&
"
:
&
strValue(i)&
Space(5)&
vbCrLf
MsgBoxstrMessage
SetobjRecordSet=Nothing
释放内存