コンパス アプリがマップ ビューを使用してその場所を表示する場合、電話が指している方向を示す小さなコーンが表示されます。ただし、ユーザーの位置を示す MKMapView を使用して再現できませんでした。このコーン オブ サイト機能は開発者が利用できますか? それとも自分で実装する必要がありますか?
ありがとうございました!
コンパス アプリがマップ ビューを使用してその場所を表示する場合、電話が指している方向を示す小さなコーンが表示されます。ただし、ユーザーの位置を示す MKMapView を使用して再現できませんでした。このコーン オブ サイト機能は開発者が利用できますか? それとも自分で実装する必要がありますか?
ありがとうございました!
これは、MapKit を使えば非常に簡単です。これは UserTrackingMode と呼ばれます。マップを「コンパスのような」ものにするコードを 1 行だけ書き留めました。
[mapView setUserTrackingMode:MKUserTrackingModeFollowWithHeading animated:YES];
また、UserTrackingMode には約 3 種類あります。
- MKUserTrackingModeNone (free scrolling map)
- MKUserTrackingModeFollow (center the user's location)
- MKUserTrackingModeFollowWithHeading (center user's location and track user's heading (direction)).
2 追跡 (無料ではない) モードのいずれかを使用している場合、マップをスクロールアウトすると、モードは自動的に無料モードに変更されます。
この問題に使用できる関連フレームワークは次のとおりです。
MTLocation には、求めている円錐を含む素晴らしい画像のバンドルがあります: https://github.com/myell0w/MTLocation/tree/master/Resources/MTLocation.bundle
私は同様の状況に直面しました。青いアイコンに方向を表示するためのライブラリや設定がないと思います(少なくとも私の検索は成功しませんでした)。
ただし、CLHeading を使用して独自の方向インジケーターを作成することは難しくありません (TommyG の回答の参照)。
私がしたことは、地図のように青いアイコンを表示し、方向を示すために別のビューに小さな矢印を提供することでした.
これが何らかの形で役立つことを願っています