2011-01-30
Windows Phone 7 エミュレータでGPSをエミュレートする
先にWP7開発Tipsにうpしておきました。こっちからでも見ることが出来ますよ。
GPSデバイスから位置情報を取得するデバッグは、基本的にWindows Phone 7の実機が無いと出来ません。そこでtmytさんが、エミュレータのホストマシンとHTTPで通信を行い、Windows Phone 7エミュレータでGPSの位置情報を扱う方法を以前公開されていました。
仕組みはというと前述した通り、GPS機器からLocation APIを使って位置情報を取得します。Windows Phone アプリからはHttpGeoLocationを使って、ホストマシンからデータを受け取ります。
内部的には同じことをやっているだろうGPS エミュレータが、AppHub公式ツールとしてリリースされました。
こちらはGPS機器を使いません。Bing Maps上で開始地点を選択し、地図上をクリックしていくだけでルートリストを作ってくれます。
Windows Phone エミュレータからHttpにてリクエストがあれば、現在地点を返すところはtmytさんのツールを同様です。動きのイメージとしては以下のような感じです。
ルートリストを作り終わったら、Windows Phone GPS Emulatorの左下にあるSimulation Startをクリックします。あとは時間を追うごとに指定したルート通りにWindows Phone GPS Emulatorの矢印が移動します。この時、Windows Phone エミュレータから位置情報を取得していた場合は、連動してマーカーが動きます。
これで実機がなくてもGPSを使ったアプリの開発が可能になりましたね。
GeoCoordinateWatcherクラスを生成する際に、以下のコードを追加します。動作している端末が実機(Device)かエミュレータ(Emulator)かを判別して、GpsEmulatorClient名前空間のコードを使うようにします。
IGeoPositionWatcher<GeoCoordinate> _Watcher; if (Microsoft.Devices.Environment.Devicetype == Microsoft.Devices.DeviceType.Device) { // 実機上なのでSystem.Device.Location名前空間の標準の方を使う _Watcher = new System.Device.Location.GeoCoordinateWatcher(); } else { // エミュレータ上なのでGPS Emulatorの方を使う _Watcher = new GpsEmulatorClient.GeoCoordinateWatcher(); }
- 80 http://search.mobile.yahoo.co.jp/mobilesite/list?p=Tube8&b=6&trans=1
- 29 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4GGLL_jaJP353JP353&q=美人時計+windows+mobile
- 27 http://search.mobile.yahoo.co.jp/mobilesite/list?sbox=SBB&squery=セックス+外国人+無料+動画&p=tube8&trans=0&ySiD=8u1ETSMaHkuC3qYP67dy&guid=ON
- 16 http://efcl.info/2010/0730/res1852/
- 15 http://blogs.wankuma.com/ch3cooh/archive/2009/01/05/165634.aspx
- 12 http://ch3cooh.jp/
- 12 http://www.google.co.jp/search?hl=ja&lr=lang_ja&tbs=lr:lang_1ja&q=SSD++visual+studio&aq=f&aqi=&aql=&oq=
- 11 http://jp.ask.com/web?l=sem&ifr=1&qsrc=999&q=美人時計 画像一覧&siteid=21018&sq=1&o=21018&ar_uid=04d6339fe2250afb5d2cb8f9bc44159fb476d497
- 11 http://search.mobile.yahoo.co.jp/mobilesite/list?p=TUBE8&b=6&trans=1
- 9 http://blogs.wankuma.com/ch3cooh/archive/2009/01/07/165756.aspx





CH3COOH / Kenji WadaMicrosoft MVP for Device Application Development(Jul 2010 - Jun 2012)