きょん☆あLabs@はてな RSSフィード

2007-04-29

[][] MS Smartphone上のGoogle MapsBluetooth GPS05:34

ひょっとしたら凄く有名&常識の範疇に入るようなFAQ的Tipだったりして…と思いつつ。

HTC MTeoRのようなMS Smartphone(WM6からはWindows Mobile Standard)でもPocket PC同様、Google MapsやWindows Live Searchのような随時ダウンロード型の地図ソフトが動作します。

ただし、BT接続のGPSを利用したい場合は工夫が必要になります。後者はペアリング中のGPSのシリアルポート番号(発信ポート=Outgoing Port)を設定すれば動作するのでよいのですが、前者はWM5で用意されたGPS用の新しいAPIを使っているため、そのままでは動作しません。Pocket PCですと[設定]-[システム]-「GPS」アイコンX01HTをはじめとして、レジストリを弄らないと表示されない機種も多いですが)で設定される「プログラムポート」と「ハードウェアポート(=発信ポート)」が使われることになるのですが、Smartphoneにはこのアイコンに相当する設定項目がありません(探せばあるのかもしれませんが、ぼくには見つけられません)。

と、いうわけで、GPSアイコンからの操作によってPocket PCのレジストリに作られる設定を、力技でSmartphoneのレジストリに組み込む方法です。

以下の囲みの中で赤い箇所青い箇所を追加してください。青い箇所は環境依存する部分で、1つ目(ハードウェアポートに相当)はBT GPSをペアリングしたときに設定したOutgoing Portの値を、2つ目(プログラムポートに相当)はMTeoRならCOM9:を指定しておけばたぶん大丈夫だと思います。あとボーレートは12c0(4800bps)にしてあります。38400bpsとかを指定したい場合は各自工夫してください。

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]

"CurrentDriver"="Control Panel Configured Device"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\Control Panel Configured Device]

"Baud"=dword:000012c0

"CommPort"="COM4:"

"InterfaceType"="COMM"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]

"DriverInterface"="COM9:"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]

"Dll"="GPSID.dll"

"Keep"=dword:00000001

"Flags"=dword:00000002

"Context"=dword:12344160

"Index"=dword:00000009

"Prefix"="COM"

【追記 5/6 1:05】

※削除線の範囲、Multiplexer (Program Port) についての設定は少なくともGoogle Mapsを使うには不要のようです。

※HKLM\System\CurrentControlSet\GPS Intermediate Driver\Drivers\Control Panel Configured Deviceで"CommPort"="COM4:"のCommのmが1つ抜けていました。すみませんでした。m(__)m

これでSP上のGoogle MapsでもBT GPSが使えるようになるかと思います。

値の入力ミスや環境によっては、ハングアップなどしてハードリセットする憂き目に遭うかもしれないので、自己責任でどうぞ。

以上、今日の時点ではまだ日本ではほとんど需要がないものの、ひょっとしたら数ヶ月後に検索されるかもしれないネタでした。

【追記 5/6 1:05】 上の設定を自動的に作成してくれるアプリがありました。COMポートにはハードウェアポート(GPSのOutgoing Port)を選択してください。プログラムポートに相当する設定はありません(というかGoogle Mapsについては不要です)。

http://forum.xda-developers.com/showthread.php?t=293397

Connection: close