MapX 5.0 是 MapInfo 推出的地圖控制元件,可在 .NET 環境透過 ActiveX 互通性直接使用。本文記錄一次實作測試,展示如何在 Windows Forms 專案引用 AxMapXLib,並實作基本地圖操作:縮放、漫游、標註、量測距離/面積/最短路徑等。
COM 分頁選取 MapX 5.0 Control,Visual Studio 自動產生 AxMapXLib 與 MapXLib 互通組件。AxMap 元件,拖放兩個至表單(axMap1、axMap2)分別顯示不同圖層。public partial class FrmMain : Form
{
private AxMapXLib.AxMap axMap1, axMap2;
private double zoom, centerX, centerY;
public FrmMain()
{
InitializeComponent();
// 記錄初始狀態供重新整理用
zoom = axMap1.Zoom;
centerX = axMap1.CenterX;
centerY = axMap1.CenterY;
// 建立自訂工具:距離量測(10)、面積量測(11)
axMap1.CreateCustomTool(10, MapXLib.ToolTypeConstants.miToolTypePoly,
MapXLib.CursorConstants.miCrossCursor, null, null, false);
axMap1.CreateCustomTool(11, MapXLib.ToolTypeConstants.miToolTypePolygon,
MapXLib.CursorConstants.miCrossCursor, null, null, false);
}
private void Form1_Load(object sender, EventArgs e)
{
axMap1.GeoSet = @"D:\Data\CHINA.GST";
axMap2.GeoSet = Path.Combine(Application.StartupPath, "Data", "local.gst");
axMap1.TitleText = "中國";
axMap2.TitleText = "區域圖";
}
}
tbfangda / tbbianxiao:放大/縮小tbmanyou:漫游tbbiaozhu:標註tbjuli:距離量測(呼叫自訂工具 10)tbmianji:面積量測(呼叫自訂工具 11)tbzuiduan:最短路徑分析tbshuaxin:重新整理地圖(還原初始 Zoom/CenterX/Y)tbxiangxi:查詢屬性細節.gst 地圖資料集路徑,支援相對/絕對路徑。ToolTypeConstants 定義量測、繪圖等互動模式。MouseDown、MouseMove、SelectionChanged 等事件處理使用者互動。LayerCount、get_Layer(i) 取得 Layer 物件,可調整可見度、標註欄位、渲染樣式。x86。MapX.ocx。