Appleのマップ(MKMapKit)でアノテーションを間引いて表示する。
私が開発しているiPhone・iPadアプリStreetWatcherでは、Googleマップの利用料金の変更以来、Appleマップを利用しています。その際、MKMapKitを利用して開発をしているのですが、アノテーションを間引いて表示したいケースが出てきました。
以下のような具合で、アノテーションとして表示している経路上にある白丸を表示し過ぎて、経路が隠れてしまってます。。(余談ですが、白丸を押すとストリートビューが表示され、経路の目印を確認できるようになっています。)
これではせっかくの経路が見づらく、使いづらい状況です(^ ^;)
そこで便利なのが、MKAnnotationViewクラスのdisplayPriorityプロパティです。
displayPriorityプロパティは、名前の通り、アノテーション表示の優先度を決めるプロパティです。displayPriorityプロパティには、以下の値を設定できます。
対応後は、以下のように経路も見え、すっきりしています!
もし同じようなことで困った場合は、ぜひご活用ください(^o^)
以下のような具合で、アノテーションとして表示している経路上にある白丸を表示し過ぎて、経路が隠れてしまってます。。(余談ですが、白丸を押すとストリートビューが表示され、経路の目印を確認できるようになっています。)
これではせっかくの経路が見づらく、使いづらい状況です(^ ^;)
そこで便利なのが、MKAnnotationViewクラスのdisplayPriorityプロパティです。
displayPriorityプロパティは、名前の通り、アノテーション表示の優先度を決めるプロパティです。displayPriorityプロパティには、以下の値を設定できます。
- MKFeatureDisplayPriorityRequired (アノテーションを常に表示)
- MKFeatureDisplayPriorityDefaultHigh (アノテーションを優先度高で表示)
- MKFeatureDisplayPriorityDefaultLow (アノテーションを優先度低で表示)
if(@available(iOS 11.0, *)) {
annotationView.displayPriority = MKFeatureDisplayPriorityDefaultLow;
}
対応後は、以下のように経路も見え、すっきりしています!
もし同じようなことで困った場合は、ぜひご活用ください(^o^)
コメント
コメントを投稿