李泉 陈玉进 (南京跬步科技有限公司http://www.creable.cn )
图4就是一个鹰眼工具的例子,主窗口的左上角有一个鹰眼窗口,该窗口显示了比主窗口视野更广的地图,其中用一矩形表示当前主窗口显示的内容在鹰眼窗口中的位置。用户可以点击鹰眼窗口中的一个位置,主窗口会以此点为中心,自动跳转到该位置。
鹰眼工具的流程(采用矢量鹰眼方式,即鹰眼窗口中也是矢量地图):
鹰眼窗口共享了主窗口的地图数据,并建立自己的坐标转换机制(比主窗口小、显示比例尺不能改变等原因)。之后测试主窗口中心点有没有变,如果没有变,则直接将上次绘制好的缓冲区贴到鹰眼窗口中。中心点改变即需要重新绘制,则首先等待主窗口绘制完毕。然后经过网格索引和窗口的双重过滤之后将地图矢量数据绘制到缓冲区中,最后贴到窗口中,鹰眼绘制完毕。中间需要将主窗口显示的范围在鹰眼中体现一下。
此方式实现的鹰眼具有如下性质:
1. 鹰眼窗口中地图的显示比例尺不变。
2. 始终以主窗口的中心为中心。
3. 可以反应主窗口的显示范围。