Google Earth 提供 COM API 供二次開發,本系列示範如何在 WinForms 中嵌入並控制 Google Earth。開發環境:VS2008 + Google Earth 5.0,需參考「Google Earth 1.0 Type Library」(生成 EARTHLib 互操作組件)。
private ApplicationGEClass GeApp;
private bool isGeStarted = false;
private void StartGE() {
if (isGeStarted) return;
try {
GeApp = (ApplicationGEClass)Marshal.GetActiveObject("GoogleEarth.Application");
} catch {
GeApp = new ApplicationGEClass(); // 未啟動則新建實例
}
isGeStarted = true;
}
private void btnScreenshot_Click(object sender, EventArgs e) {
string path = Path.Combine(Application.StartupPath, "ScreenShot.jpg");
try {
GeApp.SaveScreenShot(path, 100); // quality 0-100
MessageBox.Show("截圖儲存成功:" + path);
} catch (Exception ex) {
MessageBox.Show("截圖失敗:" + ex.Message);
}
}
範例功能:啟動 GE、儲存高品質截圖、開啟截圖檔案。後續文章將擴展圖層控制、標記管理等進階功能。