iPhone 3G なので電子コンパスが付いていないが、GPS情報から進行方向は分かるので、電子コンパスと同じような動作をする。。。と、iPhone SDKでは見えたので、作ってみたら。。。やはり動きませんでした。
locationManager.headingAvailable が3Gの場合NOになり、locationManager:didUpdateHeading イベントが発生しない事が分かったが。。。。昔のナビなど、移動方向から進行方向を割り出して表示していたので、3G用に「仮の電子コンパス」機能として移動方向を計算して、コンパス・地図回転機能を組み込んだ。
<仮の電子コンパス>
North UP/Map Rot. 切り替えにより地図が回転する。Map Rot.にすると、UP方向と進行方向が同じになるので、それなりに面白い動作になった。
3Gが3GSみたいな動きになり、これでも結構使えますね。ただ、動いていない場合の地図回転挙動がおかしい部分もあるので、怪しい場合は「回転をそのままにしておく」などの、工夫が必要のようです。
それにしても、「コンパス」画像の良いのがなく、今ひとつ分かりにくい。ネットで売り物の画像はあったが。。高いな。
次期バージョンとして、カメラ拡大・電子コンパス・ルート検索などテスト中だが、この「仮電子コンパス」が、一番完成度が高そうなので、まずはこの機能からリリースするか。