Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hulab/ClusterKit
An iOS map clustering framework targeting MapKit, Google Maps and Mapbox.
https://github.com/hulab/ClusterKit
cluster googlemaps ios mapkit
Last synced: 6 days ago
JSON representation
An iOS map clustering framework targeting MapKit, Google Maps and Mapbox.
- Host: GitHub
- URL: https://github.com/hulab/ClusterKit
- Owner: hulab
- License: mit
- Created: 2017-01-17T19:14:31.000Z (almost 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-14T08:31:10.000Z (about 4 years ago)
- Last Synced: 2024-04-24T19:01:34.039Z (8 months ago)
- Topics: cluster, googlemaps, ios, mapkit
- Language: Objective-C
- Homepage:
- Size: 76 MB
- Stars: 511
- Watchers: 22
- Forks: 86
- Open Issues: 26
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ios - ClusterKit - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. (Maps / Other Hardware)
- awesome-ios-star - ClusterKit - An iOS map clustering framework targeting MapKit, Google Maps and Mapbox. (Maps / Other Hardware)
README
----------------
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.
## Features
+ Native supports of [**MapKit**](https://developer.apple.com/documentation/mapkit), [**GoogleMaps**](https://developers.google.com/maps/documentation/ios-sdk), [**Mapbox**](https://www.mapbox.com/ios-sdk/) and [**YandexMapKit**](https://tech.yandex.com/maps/mapkit/).
+ Comes with 2 clustering algorithms, a Grid Based Algorithm and a Non Hierarchical Distance Based Algorithm.
+ Annotations are stored in a [QuadTree](https://en.wikipedia.org/wiki/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](Resources/mapkit.gif)|![GoogleMaps](Resources/googlemaps.gif)|![Mapbox](Resources/mapbox.gif)|## Installation & Usage
**Please follow the [wiki](https://github.com/hulab/ClusterKit/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](Examples) directory first.
> Provide the [Google API Key](https://console.developers.google.com) in the AppDelegate in order to try it with GoogleMaps.> Provide the [Mapbox Access Token](https://www.mapbox.com/studio/account/tokens/) in the AppDelegate in order to try it with Mapbox.
> Provide the [Yandex API Key](https://developer.tech.yandex.ru/) in the AppDelegate in order to try it with YandexMapKit.
## Credits
Assets by [Hugo des Gayets](https://dribbble.com/hugodesgayets).
Thanks [@petropavel13](https://github.com/petropavel13) for the **YandexMapKit** integration.
## License
ClusterKit is available under the MIT license. See the [LICENSE](LICENSE) file for more info.