如何实现局部放大

xyh2002 2003-09-19 09:21:24
用vb6+mapx5.0如何实现地图的局部放大?
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
banner90 2003-09-22
  • 打赏
  • 举报
回复
第一句算我没说过
banner90 2003-09-22
  • 打赏
  • 举报
回复
可以不要把事情弄大了,可没有这么复杂,
FORMLOAD代码:
InitializeMapInfoConnection

mi.do "Set Next Document Parent " & Form1.hWnd & " Style 1"

mi.do "Open table """ & App.Path & "\" & "市区道路.tab" & """ Map from 市区道路 "
mapid = Val(mi.eval("windowid(0)"))

thereIsAMap = True
Form2.Show

FORM2代码
Private Sub Form_Activate()

On Error Resume Next
'mi.runmenucommand 201
SetWindowPos Me.hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOSIZE Or SWP_NOMOVE
mi.do "Set Next Document Parent " & Form2.hWnd & " Style 1"

mi.do "Run Application " & Chr(34) & App.Path & "\road.wor" & Chr(34)
id = Val(mi.eval("windowid(0)"))
'****layer 0 means comstic layer
mi.do "set map layer 0 editable on "
latest_x1 = CDbl(mi.eval("MapperInfo(" & mapid & ", " & MAPPER_INFO_MINX & ")"))
latest_y1 = CDbl(mi.eval("MapperInfo(" & mapid & ", " & MAPPER_INFO_MINY & ")"))
latest_x2 = CDbl(mi.eval("MapperInfo(" & mapid & ", " & MAPPER_INFO_MAXX & ")"))
latest_y2 = CDbl(mi.eval("MapperInfo(" & mapid & ", " & MAPPER_INFO_MAXY & ")"))
'mi.do "create rect into window " & id & "( " & latest_x1 & "," & latest_y1 & ")(" & latest_x2 & "," & latest_y2 & ") pen( " & 2 & "," & 2 & "," & "16711680 ) brush( " & 50 & "," & "16776960) "


End Sub

FORM2通用声明
Option Explicit

Private Declare Sub SetWindowPos Lib "User32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long)

Const HWND_TOPMOST = -1
Const HWND_NOTOPMOST = -2
Const SWP_NOSIZE = &H1
Const SWP_NOMOVE = &H2
Const SWP_NOACTIVATE = &H10
Const SWP_SHOWWINDOW = &H40

FORM2LOAD
Me.WindowState = 0
heqjxiaoyao 2003-09-21
  • 打赏
  • 举报
回复
很简单,在小窗口使用API函数绘制大窗口的图区域,
xyh2002 2003-09-19
  • 打赏
  • 举报
回复
在主窗口中显示地图,在另一个窗口中显示地图全貌,可设置放大倍数,当点击小窗口中地图时,主窗口显示小窗口的坐标位置处,倍数为指定倍数的地图。该怎么做啊?
banner90 2003-09-19
  • 打赏
  • 举报
回复
怎么局部放大?你用ZOOM IN工具划一个正方形不就放大了么?
banner90 2003-09-19
  • 打赏
  • 举报
回复
Map1.Zoom = 1.5
Map1.CenterX = ftr.CenterX
Map1.CenterY = ftr.CenterY

因该在导航图这样设定就可以了,我记得导航图不是这样做的,让我找找资料

2,142

社区成员

发帖
与我相关
我的任务
社区描述
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
社区管理员
  • 地理信息系统
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧