自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#調(diào)用GoogleEarth COM API

開發(fā) 后端
本文介紹了C#調(diào)用GoogleEarth COM API的準備工作及示例。

一、C#調(diào)用GoogleEarth COM API準備

Google Earth提供了個人免費版、Plus版、Pro版,個人開發(fā)只安裝個人免費版就可以了,如果需要更多的功能,那么只有每年上交$400購買專業(yè)版了

到目前為止,GoogleEarth的二次開發(fā)接口還比較少,功能太弱,僅僅提供了1.0的類庫。

GoogleEarth COM API參考文檔可以在這里找到:http://earth.google.com/comapi/index.html

C#調(diào)用COM的參考資料多如牛毛,大家可以到網(wǎng)上搜一下

二、C#調(diào)用GoogleEarth COM API例子

這里提供一個利用VS2008 + Google Earth 5.0開發(fā)一個“Hello world”程序

首先,確保已經(jīng)正確安裝GE,打開VS2008 ,新建一個Windows應(yīng)用程序項目,在“項目”菜單中選擇“添加引用…”,切換到“COM”選項卡,選擇“Google Earth 1.0 Type Library”,其實就是Google Earth的主程序

在項目的引用中你可以看到已經(jīng)添加了一個EARTHLib的引用,然后我們就可以調(diào)用其中的接口進行開發(fā)了。

下面就是小例子的代碼(功能很簡單,只有三個,打開GE,然后讓GE保存一張截圖,然后可以打開這個截圖看看。呵呵)

 

  1. // 功能:GE實例     
  2.  // 描述:GE COM API 網(wǎng)址:http://earth.google.com/comapi/index.html  
  3.  // 作者:溫偉鵬  
  4.  // 日期:2008-01-20  
  5.    
  6.  using System;  
  7.  using System.Collections.Generic;  
  8.  using System.ComponentModel;  
  9.  using System.Data;  
  10. using System.Drawing;  
  11. using System.Text;  
  12. using System.Windows.Forms;  
  13. using EARTHLib;  
  14. using System.Runtime.InteropServices;  
  15. using System.IO;  
  16. using System.Diagnostics;  
  17.  
  18. namespace GEDemo  
  19. {  
  20.   public partial class Form1 : Form  
  21.     {  
  22.         ///   
  23.         /// 標記GE是否已經(jīng)啟動  
  24.         /// 
  25.  
  26.         private bool isGeStarted = false;  
  27.         ///   
  28.         /// 定義GE應(yīng)用程序類  
  29.         /// 
  30.  
  31.         private ApplicationGEClass GeApp;  
  32.  
  33.         public Form1()  
  34.         {  
  35.             InitializeComponent();  
  36.         }  
  37.  
  38.         private void button1_Click(object sender, EventArgs e)  
  39.         {  
  40.             StartGE();   
  41.         }  
  42.  
  43.         ///    
  44.         /// 啟動GE  
  45.         /// 
  46.  
  47.         private void StartGE()  
  48.         {  
  49.             if (isGeStarted)  
  50.             {  
  51.                 return;  
  52.             }  
  53.  
  54.             try 
  55.             {  
  56.                 GeApp = (ApplicationGEClass)Marshal.GetActiveObject("GoogleEarth.Application");  
  57.  
  58.                 isGeStarted = true;  
  59.             }  
  60.             catch   
  61.             {  
  62.                GeApp = new ApplicationGEClass();  
  63.  
  64.                 isGeStarted = true;  
  65.             }  
  66.         }  
  67.  
  68.         private void button2_Click(object sender, EventArgs e)   
  69.         {  
  70.             string ssFile = Path.Combine(Application.StartupPath, "ScreenShot.jpg");  
  71.  
  72.             try 
  73.             {  
  74.                //quality的取值范圍在(0,100)之間,質(zhì)量越高,quality越大  
  75.                 GeApp.SaveScreenShot(ssFile, 100);  
  76.  
  77.                 MessageBox.Show("成功保存截屏圖像:" + ssFile);  
  78.             }  
  79.             catch(Exception ex)  
  80.             {  
  81.                 MessageBox.Show("保存截屏圖像時發(fā)生錯誤:" + ex.Message);  
  82.             }  
  83.         }  
  84.  
  85.         private void button3_Click(object sender, EventArgs e)  
  86.         {  
  87.            string ssFile = Path.Combine(Application.StartupPath, "ScreenShot.jpg");  
  88.    
  89.             if (!File.Exists(ssFile))  
  90.             {  
  91.                 MessageBox.Show("未能找到保存的截屏圖像!");  
  92.                 return;  
  93.             }  
  94.  
  95.             Process.Start(ssFile);  
  96.         }  
  97.  
  98.         private void button4_Click(object sender, EventArgs e)  
  99.         {  
  100.             this.Close();  
  101.             Application.Exit();  
  102.         }  
  103.  
  104.     }  

【編輯推薦】

  1. C#程序中的數(shù)據(jù)顯示:自定義標簽和XML、XSL
  2. C#自定義事件是如何生成的
  3. C# 自定義控件dll文件的生成步驟
  4. C#自定義快捷鍵的實現(xiàn)
  5. C#自定義事件的步驟介紹
責(zé)任編輯:book05 來源: cnblogs
相關(guān)推薦

2009-08-05 15:37:01

調(diào)用Windows A隱藏GoogleEar

2009-08-21 17:45:40

C#調(diào)用COM對象

2009-08-03 11:32:49

C#調(diào)用COM對象

2009-09-02 16:43:55

C#調(diào)用Excel的C

2009-07-31 16:12:10

Windows APIC#

2009-08-03 13:13:52

C#調(diào)用Outlook

2009-08-07 16:10:20

C#調(diào)用API

2009-09-24 15:10:54

C#調(diào)用COM組件

2009-08-03 13:34:57

C#調(diào)用Windows

2009-08-21 17:42:36

C#調(diào)用API

2009-08-03 14:09:15

C#調(diào)用API

2009-09-18 19:09:41

C# COM組件

2009-08-17 13:18:01

C#調(diào)用Windows

2009-08-25 16:16:27

C#調(diào)用Windows

2009-07-31 15:47:20

Win32 APIC#

2009-08-19 14:35:12

C++和C#相互調(diào)用C

2009-08-17 13:26:20

C#調(diào)用Windows

2009-08-17 13:49:20

C#中調(diào)用Window

2009-08-11 14:16:00

Winform調(diào)用WEC#

2009-08-20 11:03:34

Visual C#使用
點贊
收藏

51CTO技術(shù)棧公眾號