Neutral Scent

App developments & Gadgets

WP8SDKのエミュレーターで位置情報ツールを使ってGPSアプリを正常にdebugできるようにする


聞いてみるもんだ。
先日リリースしたWindows Phone 8アプリ 食べログStreetWalker の開発中に非常に困っていることがありました。Windows Phone 8 SDKに付属する位置情報ツールが正常に動作しないのです。どこがヘンかというと、下の動画をご覧ください。

全く使えないわけではないのですが、

  1. エミュレーター起動直後の状態では位置情報が取れない
  2. Nokia Mapsを起動して位置情報の利用を許可すると動くようになる
  3. Nokia Mapsの中ではしっかり動く
  4. 自分のアプリに切り替えるとしばらくは使える
  5. Nokia Mapsからタスクスイッチして数十秒経つと突然現在地が米国レドモンドへすっ飛ぶ
  6. Nokia Mapsに切り替えると、また現在地が指定した地点へ戻る
  7. 4.に戻って繰り返し

という状態。
せっかく高機能が売りの位置情報ツールもほぼ使い物になりません。WP7のエミュレーターではちゃんと動いていたのになんで?? という感じです。
これヘンだよなぁ、おかしいなぁ、と英語でググってもそれらしき情報は見つからず。なんとかアプリはリリースしたものの、やはり街中で歩きながら使うといろいろと細かい不具合があるので、これ使えないとdebugできん、と思ってDevCenterのTools for Windows Phone development Forumで質問してみました。さらに、状況説明のために上の動画をキャプチャしてみたり。
で、結論としては、とりあえずGeolocatorの初期化で1行コードを追加するだけで直近は回避できるようです。

geoLocator.DesiredAccuracy = Windows.Devices.Geolocation.PositionAccuracy.High;

既知の問題として登録済みとのこと。
逆に言えば、DesiredAccuracyの設定を最初からしていれば気づかない問題なわけです。と、いうわけで、Location Tool使えないよ! とお困りの方がいたらお試しください。
via: (WP8) Emulator (XDE) Troubleshooting Tips
http://social.msdn.microsoft.com/Forums/ja-JP/wptools/thread/b06cc9f2-aa5e-4cb3-9df1-0c273e1dfd68
Windows Phone 8 Emulator returns Microsofts Location only
http://social.msdn.microsoft.com/Forums/en-US/wptools/thread/c2cc57b1-ba1f-48fb-b285-d6cfbb8f393a