7.7.5 地图漫游的实现
地图漫游的实现主要是通过CMap1类中的成员函数Pan()来实现的,执行漫游操作的按钮同样是工具栏中上的按钮,视图类中漫游按钮的消息响应函数OnMapPan()代码如下:
代码位置:见光盘中本章源代码的CMapPublicView类。
- 1 void CMapPublicView::OnMapPan()
- 2 {
- 3 PlayResource(IDR_WAVE2); //播放声音资源
- 4 m_CurrentOperation=PAN; //设置当前操作状态
- 5 m_Map.SetMousePointer(53); //鼠标指针设置成漫游图形
- 6 }
第3行代码为播放声音资源。
第4行代码为设置当前的操作状态。PAN表示当前操作类型为地图漫游,就是实现地图的平移操作。
第5行代码为设置鼠标指针的形状为漫游形状。
地图漫游的实现还需要一个重要的函数--地图控件的鼠标消息响应函数MouseDown,该函数在介绍地图的放大、缩小时已经介绍过了,这里不做重复介绍。
到此,系统的开发过程已经介绍完毕,由于本章篇幅的限制,关于MapObjects控件的使用还有很多没有进行介绍,如地图图层的加载和使用等。注意,MapObjects地图的显示是由多个透明的图层组成的,在添加MapObjects控件后应该在工程的目录下将图层文件添加进来。