⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 动态图层.mb

📁 很多的MAPINFO的常见问题下载后可以学习很有帮助
💻 MB
字号:
Include "mapbasic.def"
Include "icons.def"
Include "menu.def"

Declare Sub main
Declare Sub open_tables
Declare Sub move_trucks
Declare Sub end_program

Global Use_Animation as Logical

Sub Main
	Create Menu "&Animation Layer" As
	  "&Test Animation Layer" Calling move_trucks,
	  "&End Program"          Calling end_program
	Alter Menu Bar Add "&Animation Layer"
	Close All
	call Open_Tables
End Sub

Sub Open_Tables
	Open Table "D:\MapInfo\MapData\tutordata\DC\dcwashs.tab" As DCWASHS Interactive
	Open Table "F:\annimate\nodexy" 	As TRK_XYS Interactive
	Open Table "F:\annimate\trucks" 	As TRUCKS  Interactive
	Map From DCWASHS
 	Set Map  Center (-77.023, 38.901) zoom 15.65 Units "km"
	Set Window Frontwindow() Max
End Sub

Sub move_trucks
	dim i as integer
	Dim delay  	      as Integer
	Dim x,y    		as Float
	Dim truck_symbol as Symbol

	Use_Animation = Ask("Do you want to use the Animation Layer feature?","&Yes","&No")
	If use_animation then Add Map Layer trucks Animate  '采用动态图层与不采用动态图层的区别。
		Else Add Map Layer trucks
	End If

	Fetch First From trk_xys

	Do While Not EOT(trk_xys)			
		x  = trk_xys.xcoord
		y  = trk_xys.ycoord
		Update trucks Set Obj = CreatePoint(x,y)  Where Rowid = 1
		Fetch next from trk_xys
		for i = 1 to 2500 '还有其它更好的办法来实现延时吗?
		next
	Loop

	If use_animation Then Remove Map Layer Animate
		Else Remove Map Layer trucks
	End If
End Sub

Sub end_program
  	Close All
  	End Program
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -