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