2

iOS5.1.1でWiFiiPad第1世代を使用しています

私はこのブログ投稿のようなコアロケーションを設定しました:http: //blog.objectgraph.com/index.php/2012/01/10/how-to-create-a-compass-in-iphone/

の:

- (void)locationManager:(CLLocationManager*)manager
didUpdateHeading:(CLHeading*)heading

真の方位値をログに記録します。

NSLog(@"heading: %f", manager.heading.trueHeading);

iPadをどちらの方向に向けても、結果は常に「真の方位:-1.000000」になります。

3軸すべてでデバイスを回転させ、設定で位置情報サービスを有効にしました。

これが機能しない理由について何かアイデアはありますか?見出しのレポートはiPadの第1世代では機能しませんか?

4

3 に答える 3

3

これが私の場合に役立ったものです:

  1. 位置情報サービスを選択します(プライバシー設定の下)
  2. アプリのリストの下部にある [システム サービス] を選択します (位置情報サービス内)。
  3. コンパスのキャリブレーションをオンにする

このように、 trueheading-values はもはや -1 ではないようです!

(下の写真を参照)!

ここに画像の説明を入力

于 2014-12-27T15:34:04.450 に答える
2

有効な見出しデータを取得するには、CLLocationManager を構成して場所も更新する必要があります。アップルのドキュメントから:

注: 見出しオブジェクトに trueHeading プロパティの有効なデータを含める場合は、場所の更新を配信するように場所マネージャー オブジェクトも構成する必要があります。これらの更新の配信を開始するには、ロケーション マネージャー オブジェクトの startUpdatingLocation メソッドを呼び出します。

したがって、startUpdatingLocation

「見出し」とは、定義されたデバイス軸が指している方向を指すことに注意してください。[UIDevice currentDevice].orientation で読み取ることができる「方向」は、デバイスの傾きを示します。

于 2013-03-23T01:13:02.147 に答える
1

-1 は、コンパスの方位が無効であることを意味します。おそらく、コンパスのキャリブレーションを実行する必要があります。

于 2013-03-23T04:32:22.763 に答える