y-matsui::weblog

電子楽器、音楽、コンピュータ、プログラミング、雑感。面倒くさいオヤジの独り言

WindowsMobileでGPSクライアント開発〜初めの一歩

さてと、HT-01Aの素晴らしい機能に触れたところで、次は自作GPSアプリを動作させてみたい。
WindowsMobileプログラミング徹底理解”をパラパラと眺めつつ、なんとなく違和感が。
c#ラクラク開発っていう道はないのかぃ?」
・・でWindows+Mobile c# GPS なんていうキーワードで探してたら、結局MicrosoftSDKに同梱しているサンプルが最適という結論を得た。
早速プロジェクトをビルドして実機にインストール、動作させてみる。

■環境を作る

.NET CompactFramework 2.0をダウンロード、インストールする。
Windows Mobile 6 Professional and Standard Software Development Kits RefreshからWindowsMobileSDKをダウンロード、セットアップする。
エミュレータを日本語化する
Windows Mobile 6 Localized Emulator Imagesからインストーラをダウンロード、セットアップ。

■サンプルを実機で実行

最強のサンプル\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS\GpsSampleをVisualStudio2005で開き、”ビルド”→”配置”で”Windows Mobile 6 Professional Device”を選択する。
ActiveSyncを通じてインストールが実行される。
なんとも恐ろしいことにdllやexeがコピーされるたびに「壊れるかもしれんけどいい?」と聞かれる。
「壊れて良いわけがなかろうが!ボケが」と吐き捨てつつ、そこはサンプル開発者の善意を信用してOKボタンを押す。

マイデバイス>Program Files > gpssample>GpsSampleを実行すると、めでたくForm1が表示され、画面下部にはExitとGPSのメニューが表示される。
メニューからGPSを選択し、StartGPSとすると
QualComm GpsOne Card,version 0.0 On,
On
などと起動する。
ここで衛星を捕獲できる状態になっていれば、続けて
Latitude (DD):
35,********
Latitude (D,M,S):
35d *' **.*************" ←なんで秒が13桁もいるの?
Longitude (DD):
136.********
Longitude (D,M,S)
136d **'**.*************"
Satellite Count:
7/7 (8)
Time:
09/03/09 10:11:22 ←もちろん標準時だから、日本時間にするには+9

この緯度経度をGoogleMapで見ると・・・
出たぁぁ。20m以内の誤差でかなりのニアリー
いいよいいよー