您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“C#如何調用GoogleEarth COM API”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“C#如何調用GoogleEarth COM API”這篇文章吧。
一、C#調用GoogleEarth COM API準備
Google Earth提供了個人免費版、Plus版、Pro版,個人開發只安裝個人免費版就可以了,如果需要更多的功能,那么只有每年上交$400購買專業版了
到目前為止,GoogleEarth的二次開發接口還比較少,功能太弱,僅僅提供了1.0的類庫。
GoogleEarth COM API參考文檔可以在這里找到:http://earth.google.com/comapi/index.html
C#調用COM的參考資料多如牛毛,大家可以到網上搜一下
二、C#調用GoogleEarth COM API例子
這里提供一個利用VS2008 + Google Earth 5.0開發一個“Hello world”程序
首先,確保已經正確安裝GE,打開VS2008 ,新建一個Windows應用程序項目,在“項目”菜單中選擇“添加引用…”,切換到“COM”選項卡,選擇“Google Earth 1.0 Type Library”,其實就是Google Earth的主程序
在項目的引用中你可以看到已經添加了一個EARTHLib的引用,然后我們就可以調用其中的接口進行開發了。
下面就是小例子的代碼(功能很簡單,只有三個,打開GE,然后讓GE保存一張截圖,然后可以打開這個截圖看看。呵呵)
// 功能:GE實例 // 描述:GE COM API 網址:http://earth.google.com/comapi/index.html using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using EARTHLib; using System.Runtime.InteropServices; using System.IO; using System.Diagnostics; namespace GEDemo { public partial class Form1 : Form { /// /// 標記GE是否已經啟動 /// private bool isGeStarted = false; /// /// 定義GE應用程序類 /// private ApplicationGEClass GeApp; public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { StartGE(); } /// /// 啟動GE /// private void StartGE() { if (isGeStarted) { return; } try { GeApp = (ApplicationGEClass)Marshal.GetActiveObject("GoogleEarth.Application"); isGeStarted = true; } catch { GeApp = new ApplicationGEClass(); isGeStarted = true; } } private void button2_Click(object sender, EventArgs e) { string ssFile = Path.Combine(Application.StartupPath, "ScreenShot.jpg"); try { //quality的取值范圍在(0,100)之間,質量越高,quality越大 GeApp.SaveScreenShot(ssFile, 100); MessageBox.Show("成功保存截屏圖像:" + ssFile); } catch(Exception ex) { MessageBox.Show("保存截屏圖像時發生錯誤:" + ex.Message); } } private void button3_Click(object sender, EventArgs e) { string ssFile = Path.Combine(Application.StartupPath, "ScreenShot.jpg"); if (!File.Exists(ssFile)) { MessageBox.Show("未能找到保存的截屏圖像!"); return; } Process.Start(ssFile); } private void button4_Click(object sender, EventArgs e) { this.Close(); Application.Exit(); } } }
以上是“C#如何調用GoogleEarth COM API”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。