MKPolylineView (2000 年頃) と MKAnnotations をピン ドロップで表示するマップ アプリケーションを作成しています。
一度に MKPolylineViews または MKannotations のセットを表示したいと考えています。私は 2 つのボタンで管理しています。1 つのボタンは MKPolylineViews のセットを表示するためのもので、もう 1 つのボタンは MKAnnotations のセットを表示するためのものです。そこで、このシナリオを管理するために次の 2 つの方法を試しました。
MKAnnotations については、削除して再度追加しています。MKPolylineViews の場合、2 つの方法を試しました。
ボタンのクリックに基づいて可視性を管理するために、すべての MKPolylineViews を YES と NO に非表示にしようとしました。この場合、MKPolylineViews を非表示の状態から表示すると、すべての MKPolylineView が表示されるわけではありません。アルファと隠しプロパティで試しました。どちらの場合も結果は同じで、すべての線が表示されているわけではありません。すべての行を表示するメカニズムはありますか。この場合、パフォーマンスが良いからです。
次に、すべての MKPolylineOverlays を削除して再度追加する別の方法を試しました。この場合、すべてがうまく機能します。ただし、メイン スレッドは UI を数秒間フリーズします。約 2000 MKPolyLineView を追加していることを思い出してください。どうすればそれを管理できますか。
オーバーレイを削除する代わりに、hidden プロパティと alpha プロパティを使用すると、パフォーマンスは良好でした。しかし、隠し状態から見えるようにすると、線の半分が見えなくなります。オーバーレイの約半分が表示されませんでした。
私が必要とするもう 1 つの助けは、約 2000 の MKOverlays を使用しているため、ズーム中にアプリが数秒間フリーになったことです。この場合、マップは各ズーム レベルでオーバーレイを再レンダリングしていると思います。効率的に処理する方法はありますか?
このシナリオを処理するための最良の方法を誰かが助けてくれますか?
よろしくお願いします。