スマートフォン用の表示で見るスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。この広告は、90日以上更新していないブログに表示しています。LocationのaccuracyについてiPhone技術情報Objective-CCLLocationManagerのdesiredAccuracyプロパティは、位置情報を取得する時に、求めたい精度を指定するためのパラメタです。実際に取得される位置情報は、その精度を満たしているとは限りません。そのことについて、Appleのドキュメントに書かれていることを要約すると、以下のような感じです。Loading...http://developer.apple.com/iPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9要求された精度を達成するために最善を尽くすが、実際の精度は保証されない。最初に取得されるデータは精度よりも、できるだけ速くデータを返すことを優先するので、要求した精度に達していない可能性がある。最初に取得されるデータは、キャッシュされているものが返されることがあるので、タイムスタンプをチェックして、古いデータだったら捨てた方がいい。高い精度を要求すると、消費電力が大きい。desiredAccuracyは、最低限このくらいの精度のデータが欲しいという目安を指定するものと考えると、しっくりと来るかもしれません。あと、精度を低く抑えておけば、消費電力を少なくすることができるということですね。実際に、自宅のリビングで、SDKに付属のLocateMeサンプルで試してみたところ、どの精度を指定しても、複数回データが受信されました。そのときの傾向は、以下のようなものでした。1回目と2回目は、続けざまに同じ精度(982m)で、緯度/経度は全く同じ3回目は、2回目の5秒後に受信された。精度が199mのときと、846mのときがあった。緯度/経度もそれに伴って補正された。3回目が846mのときは、さらに45秒後に4回目として199mのデータが受信された。ここから考えると、少なくとも3回は待たないと、精度の高いデータは取得できそうになさそうですが、その代わりに取得するまでに時間がかかってしまいます。iPhoneは、さまざまな方法を使って位置情報を取得するので、そのときの条件によっては、データが返される回数は変わる可能性があります。目的に応じてうまく制御することが必要ですね。取得の開始と終了を、ユーザの操作で行うというのも、選択肢としてあるかもしれません。少なくとも、1回目に取得したデータを無条件に使わずに、タイムスタンプのチェックをすることは必須ですね。http://developer.apple.com/iPhone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/AdvancedFeatures/AdvancedFeatures.html#//apple_ref/doc/uid/TP40007072-CH14-SW9には、そのあたりのサンプルコードが示されているので、参考になるかと思います。Simulatorはリジェクトされました。Blog|ブログを報告する。