マップに配置するピンがかなりあるので、それらの注釈をクラスター化するのは良い考えだと思います。iPhoneでこれを実現する方法がよくわかりません.GoogleマップといくつかのJavaScriptの例で何かを解決することができました. しかし、iPhone はその mkmapview を使用しており、そこに注釈をクラスター化する方法がわかりません。
あなたが知っていて、良いアイデアやフレームワークはありますか? ありがとう。
マップに配置するピンがかなりあるので、それらの注釈をクラスター化するのは良い考えだと思います。iPhoneでこれを実現する方法がよくわかりません.GoogleマップといくつかのJavaScriptの例で何かを解決することができました. しかし、iPhone はその mkmapview を使用しており、そこに注釈をクラスター化する方法がわかりません。
あなたが知っていて、良いアイデアやフレームワークはありますか? ありがとう。
- (NSSet *)annotationsInMapRect:(MKMapRect)mapRect
iOS 4.2 以降、MKMapView には、クラスタリングを行うために使用できるメソッドが呼び出されるため、必ずしもサードパーティのフレームワークを使用する必要はありません。
WWDC11 セッション ビデオ「 MapKitを使用して地理的に情報を視覚化する」をご覧ください。半分くらいでやり方が説明されています。しかし、私はあなたのために概念を要約します:
-annotationsInMapRect
して、非表示のマップから注釈データを取得しますこれは非常に一般的な問題であり、解決策が必要だったため、クラスタリングをサポートするMKMapViewのカスタムサブクラスを作成しました。それから私はそれをオープンソースで利用できるようにしました!ここで入手できます:https ://github.com/yinkou/OCMapView 。
注釈のクラスタリングを管理し、自分でそれらのビューを処理できます。OCMapView
フォルダをプロジェクトにコピーMKMapView
し、nibにを作成し、そのクラスをに設定する以外に何もする必要はありませんOCMapView
。(または、通常のようにコードで作成して委任しますMKMapView
)
ピンをクラスタリングして、その番号を表示したかっただけです。次の https://www.cocoacontrols.com/controls/qtree-objcは私の期待に合っています。
ADClusterMapView を見ましたか? https://github.com/applidium/ADClusterMapView
まさにこれを行います。
私は最近、別の回答で言及されている ADClusterMapView から分岐し、プロジェクトに関連する問題のすべてではないにしても多くを解決しました。これは kd ツリー アルゴリズムであり、クラスタリングをアニメーション化します。
ここでオープンソースを利用できますhttps://github.com/ashare80/TSClusterMapView
ここには、Objective-C と Swift の両方のための非常にクールでよく管理されたライブラリがあります: https://github.com/bigfish24/ABFRealmMapView
Realmとの統合により、クラスタリングが非常にうまく行われ、大量のポイントも処理されます。
このフレームワーク (XMapView.framework) を試してください。iOS 8 をサポートするようになりました。
このフレームワークは、現在のプロジェクト構造を変更する必要がなく、MKMapView に直接使用できます。zipファイルがあります。一度に 200 個のピンをクラスター化する例を示します。iPod でテストしたところ、非常にスムーズであることがわかりました。
http://www.xuliu.info/xMapView.html
このライブラリは以下をサポートしています: