2017-03-01 13 views
1

userTrackingModeを設定すると、ユーザーがマップを移動してもトラッキングモードを「ロック」できます。MKMapView "lock" userTrackingMode

現在、MKUserTrackingModeFollowWithHeadingに設定してマップを移動(または拡大)すると、自動的にMKUserTrackingModeNoneに戻ります。

これは可能ですか?

+0

通常はマップのために、現在の場所に戻るボタンがあるので、そのアクションに 'userTrackingMode'を戻すことができます – onmyway133

答えて

0

デリゲートでを設定すると、mapView(_:didChange:animated:)に返信できます。

本当に良いアイデアですか?これにより、ユーザーのピンが地図の中央に戻ってくるので、ユーザーは地図を移動したように見えます。ユーザーが最初に地図を移動するのを防ぐのは良いことでしょう(簡単に行う)。

標準的なことは、ユーザーに常にMKUserTrackingBarButtonItemを与えて、モードの選択が常にユーザーに任されるようにすることです。

+0

私は自分のユーザのために' MKUserTrackingBarButtonItem'を持っています。しかし、このシナリオを考えてみましょう。 'MKUserTrackingModeFollowWithHeading'を使用して、ユーザはナビゲートしており、マップは見出しを続けています。次に地図をつまんでズームインしますが、 'MKMapView'はこれを地図を「動かす」と見て、デフォルトのtrackingModeに戻します。これは、ユーザがズームインしたり、地図をちょっと動かしたりすると、「見出し」モードに何度も切り替える必要があります。 –

+0

「これはユーザーにとって迷惑なものです」地図アプリケーションはそのように振る舞い、私はユーザーにとって迷惑ではありません。 – matt

+0

あなたは私たちのアプリのユーザーではありません。 :) –