此次开发将界面改成换成类型Office2007的,主要继承DevComponents。地图底层现在只添加一些地理图层如道路、河流、路名等,至于有实际应用的图层后期加入,这些ShapeFile文件从CAD图纸的dxf格式转换而来。
(一)图层窗口的实现
MapWinGis本身的图层窗口控件legend强大,源代码相当多,而且包含了很多方法,此次图层窗口的实现主要采用树形控件,将地理图层的图层ID、图层名加载绑定。
(二)地名检索的实现
地名检索实现主要是遍历每个图层,寻找地名图层的dbf文件,遍历该文件的存放地名的那一列,将符合要求的地名检索出来,绑定在树形控件上。
双击树形控件的节点,将地图定位在该地名上。这里主要涉及到地图定位算法的问题:先获取绑定在树形控件的Shape对象的属性,得到ShapeString属性,然后获得ShapeString里的Extents范围,增大Extents范围,将地图Extents范围设置成那个即可定位。
定位的结果如下: