Skip to content
An iOS map clustering framework targeting MapKit, Google Maps and Mapbox.
Branch: master
Clone or download
Latest commit 465f951 Feb 11, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
ClusterKit Remove forgotten YMKDelegate getter/setter (#63) Jan 31, 2019
Examples Release 0.4.0 Feb 11, 2019
Framework Release 0.4.0 Feb 11, 2019
Resources Update README Oct 17, 2017
Tests Remove CKAnnotation protocol. Oct 18, 2017
.gitignore Xcode9 Sep 15, 2017
.travis.yml Update travis osx image Nov 14, 2018 Release 0.4.0 Feb 11, 2019
ClusterKit.podspec Add YandexMapKit support (#62) Jan 25, 2019
LICENSE First commit Jan 17, 2017 Update Jan 25, 2019

CI Status Version License Platform Carthage

ClusterKit is an elegant and efficiant clustering controller for maps. Its flexible architecture make it very customizable, you can use your own algorithm and even your own map provider.


  • Native supports of MapKit, GoogleMaps, Mapbox and YandexMapKit.
  • Comes with 2 clustering algorithms, a Grid Based Algorithm and a Non Hierarchical Distance Based Algorithm.
  • Annotations are stored in a QuadTree for efficient region queries.
  • Cluster center can be switched to Centroid, Nearest Centroid, Bottom.
  • Handles pin selection as well as drag and dropping.
  • Written in Objective-C with full Swift interop support.
MapKit GoogleMaps Mapbox
MapKit GoogleMaps Mapbox

Installation & Usage

Please follow the wiki for integration.

If you want to try it, simply run:

pod try ClusterKit

Or clone the repo and run pod install from the Examples directory first.

Provide the Google API Key in the AppDelegate in order to try it with GoogleMaps.

Provide the Mapbox Access Token in the AppDelegate in order to try it with Mapbox.

Provide the Yandex API Key in the AppDelegate in order to try it with YandexMapKit.


Assets by Hugo des Gayets.

Thanks @petropavel13 for the YandexMapKit integration.


ClusterKit is available under the MIT license. See the LICENSE file for more info.

You can’t perform that action at this time.