发表用户:uestcwlh/魏连华
收集整理:James.Liu
相关讨论:http://www.mygis.com.cn/forum/dispbbs.asp?boardID=11&ID=854
信息原始来源:uestcwlh/魏连华

文章标题:如何在MapXtreme里实现地图鹰眼功能

鹰眼窗口和地图主窗口都使用一个Applet容器放置地图对象MapJ。创建两个MapJ对象,并session.putvalue("mapinfo.mapj", myMap);
用的时候再:MapJ myMap = (MapJ) session.getvalue("mapinfo.mapj");
这样,对两个MapJ控制不同zoom和center即可

因为鹰眼和主地图是连动关系,并且鹰眼并没有使用固定视野的方式,所以鹰眼对象后台需要重新初始化一个MapJ对象,并使用简易版的gst或者 mdf地图集和。连动机理如下:
A)
MainApplet上的地图操作——〉MapJ重新渲染返回新图片地址——〉MainApplet捕捉新图片刷新命令重画地图——〉OverViewApplet自动刷新
B)
OverViewApplet上的地图操作——〉MainApplet重画——〉主MapJ重新渲染返回新图片地址——〉MainApplet捕捉新图片刷新命令重画地图——〉OverViewApplet自动刷新 

另外请注意,在MainApplet上的地图操作只有放大、缩小、平移操作会导致鹰眼地图刷新,其他地图重画不会造成鹰眼地图刷新