色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

WM--GPS開發(fā)

  前幾天,有朋友托我給他寫個GPS程序,就取經(jīng)緯度坐標(biāo),以及將之轉(zhuǎn)換成高斯直角坐標(biāo)。花了一些時間,給他做了個小程序。

  后來總結(jié)時,想起,很多網(wǎng)上朋友都會問及關(guān)于GPS開發(fā)的一些事。我這里先將我的程序解釋下,然后再總結(jié)下,相關(guān)經(jīng)驗及個人看法。

  目前在一些移動設(shè)備中,都提供GPS功能,設(shè)備中都需要一個接收器,用來接收GPS信號。(類似于GPRS工作方式)。GPS一旦啟動后,會自動連接衛(wèi)星,接收信號,通過算法計算出位置等信息,然后以NMEA data的格式輸出。GPS receiver就是接收衛(wèi)星信號轉(zhuǎn)換成NMEA data的設(shè)備。

  開發(fā)GPS有3種選擇:
  1、直接使用串口連接GPS接收器
  2、GPS Intermediate Driver
  3、使用第三方類庫(目前openNETcf提供相應(yīng)類庫)

  目前,WM5.0以上系統(tǒng),都內(nèi)置了GPS Intermediate Driver。通過它,我們能夠很方便的取道GPS數(shù)據(jù)。

  關(guān)于GPS方面的文章可以參考:
  1、30 Days of .NET [Windows Mobile Applications] - Day 03: GPS Compass(GPS指南針)
  2、.NET Compact Framework下的GPS NMEA data數(shù)據(jù)分析

  雖然GPS Intermediate Driver提供了我們非常快捷的取得GPS信息,但同時也有一定的弊端。

  那下面我講介紹我如何在該項目中使用GPS的。

  我使用GPS Intermediate Driver,它能夠快速開發(fā),MS也提供了很強大的例子來方便我們使用。
在微軟的WM SDK安裝目錄下有GPS工程。(Windows Mobile 6 SDK/Samples/PocketPC/CS/GPS)

  該Demo中
  GPS.cs:封裝了GPS的操作類,比如Open(),Close(),Connect()??梢院芸旖莸氖褂?。
  GpsDeviceState.cs:用于取得目前GPS設(shè)備的狀態(tài)信息。
  GpsPosition.cs:每次GPS數(shù)據(jù)取得后,都會放入該類。
  LocationChangedEventArgs.cs:一旦位置改變,即可將新的GPSPosition取得到。

public void Open()
{
    
if (!Opened)
    {
         
// create handles for GPS events
         newLocationHandle = CreateEvent(IntPtr.Zero, 00null);
         deviceStateChangedHandle 
= CreateEvent(IntPtr.Zero, 00null);
         stopHandle 
= CreateEvent(IntPtr.Zero, 00null);

         gpsHandle 
= GPSOpenDevice(newLocationHandle, deviceStateChangedHan
dle, 
null0);

         
// if events were hooked up before the device was opened, we'll need
         
// to create the gps event thread.
         if (locationChanged != null || deviceStateChanged != null)
         {
             CreateGpsEventThread();
         }
    }
}

NET技術(shù)WM--GPS開發(fā),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 大理市| 两当县| 海丰县| 安徽省| 蒙自县| 买车| 张家口市| 大渡口区| 藁城市| 南涧| 图木舒克市| 恩平市| 陕西省| 霍山县| 江华| 公安县| 盐山县| 华安县| 柳江县| 广元市| 合水县| 航空| 博乐市| 武强县| 连南| 佛冈县| 民权县| 甘南县| 开化县| 洪湖市| 周宁县| 札达县| 会理县| 如东县| 沁阳市| 泸定县| 石阡县| 吐鲁番市| 正镶白旗| 上饶市| 蒙阴县|