上一篇文章介紹了一個簡單的地圖縮放工具的制作,接下來需要介紹一下地圖數據讀取及加載的設計。
首先,地圖上的數據是來自數據庫並自動生成的,我在這裡並沒有采用MapInfo的ADO.NET,而是采用本身系統的查詢接口再加上自定義實體來生成地圖圖元,並插入MapInfo的Session中的臨時表中以展示。
考慮到程序的擴展性,我將數據獲取、圖元展示、地圖展示等分離開來,盡量做到靈活易懂。
數據獲取接口,我只定義了一個方法:
/**//// <summary> /// 數據提供接口,定義了獲取數據的基本方法 /// </summary> public interface IDataProvider { /**//// <summary> /// 獲取所有數據主方法 /// </summary> /// <returns>獲取到的實體列表</returns> List<AbstractEntity> GetData (); }
這個方法返回List<自定義抽象實體>,這個List表示多個需要展示的圖元集合。
所以最重要的是AbstractEntity了。
在該抽象實體中,我定義了兩個屬性X和Y,用來表示圖元的坐標: