All Projects → vadymmarkov → PinFloyd

vadymmarkov / PinFloyd

Licence: other
MapKit annotations clustering for iOS

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to PinFloyd

Cluster
Easy Map Annotation Clustering 📍
Stars: ✭ 1,132 (+3803.45%)
Mutual labels:  map, cluster
Docker Blender Render Cluster
A docker based multi machine render setup
Stars: ✭ 79 (+172.41%)
Mutual labels:  cluster, render
react-map-gl-cluster
Urbica React Cluster Component for Mapbox GL JS
Stars: ✭ 27 (-6.9%)
Mutual labels:  map, cluster
iOS-MapKit-Tutorial
iOS MapKit Getting Started
Stars: ✭ 24 (-17.24%)
Mutual labels:  map, mapkit
mapus
A map tool with real-time collaboration 🗺️
Stars: ✭ 2,687 (+9165.52%)
Mutual labels:  map, annotation
mundraub-android
📱Android App for Mundraub, Na-Ovoce and other fruit maps
Stars: ✭ 30 (+3.45%)
Mutual labels:  map
object-detection-notebooks
Object detection and localization with Tensorflow 2 and Keras
Stars: ✭ 25 (-13.79%)
Mutual labels:  map
covid-19
Current and historical coronavirus covid-19 confirmed, recovered, deaths and active case counts segmented by country and region. Includes csv, json and sqlite data along with an interactive website explorer.
Stars: ✭ 15 (-48.28%)
Mutual labels:  map
earth
🌏 A map of places I've checked in on Earth.
Stars: ✭ 96 (+231.03%)
Mutual labels:  map
go-redis-migrator
A cluster aware Redis key migrator. Moves keys from one cluster or host to another cluster or host.
Stars: ✭ 32 (+10.34%)
Mutual labels:  cluster
doccano-client
A simple client wrapper for doccano API.
Stars: ✭ 52 (+79.31%)
Mutual labels:  annotation
map
🏳️‍🌈🗺 A map of community centers and other helpful information for queer (LGBTQ) people.
Stars: ✭ 15 (-48.28%)
Mutual labels:  map
texthighlighter
a no dependency typescript npm package for highlighting user selected text
Stars: ✭ 17 (-41.38%)
Mutual labels:  annotation
jpndistrict
🗾 Create Japansese Administration Area Maps
Stars: ✭ 18 (-37.93%)
Mutual labels:  map
transit
Massively real-time city transit streaming application
Stars: ✭ 20 (-31.03%)
Mutual labels:  map
k8s-istio-demo
Demo showing the capabilities of Istio
Stars: ✭ 22 (-24.14%)
Mutual labels:  cluster
LittleNavmapOFMTheme
Open Flightmaps VFR Map Theme for Little Navmap
Stars: ✭ 34 (+17.24%)
Mutual labels:  map
genie
Genie: A Fast and Robust Hierarchical Clustering Algorithm (this R package has now been superseded by genieclust)
Stars: ✭ 21 (-27.59%)
Mutual labels:  cluster
JRCLUST
JRCLUST
Stars: ✭ 32 (+10.34%)
Mutual labels:  cluster
react-bmapgl
基于百度地图JavaScript GL版API封装的React组件库
Stars: ✭ 68 (+134.48%)
Mutual labels:  map

PinFloyd

CI Status Version Carthage Compatible License Platform Swift

Description

MapKit annotations clustering for iOS.

Usage

Create an instance of ClusteringManager:

let clusteringManager = ClusteringManager()

Add annotations:

clusteringManager.add(annotations: annotations)

Replace annotations:

clusteringManager.replace(annotations: annotations)

Render annotations on region change:

// MKMapViewDelegate
func mapView(_ mapView: MKMapView, regionDidChangeAnimated animated: Bool) {
  clusteringManager.renderAnnotations(onMapView: mapView)
}

Reuse annotation view:

func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
  switch annotation {
  case let annotation as ClusterAnnotation:
    let id = ClusterAnnotationView.identifier

    var clusterView = mapView.dequeueReusableAnnotationView(withIdentifier: id)
    if clusterView == nil {
      clusterView = ClusterAnnotationView(annotation: annotation, reuseIdentifier: id)
    } else {
      clusterView?.annotation = annotation
    }

    return clusterView
  default:
    // return annotation view
}

Installation

PinFloyd is available through CocoaPods. To install it, simply add the following line to your Podfile:

pod 'PinFloyd'

PinFloyd is also available through Carthage. To install just write into your Cartfile:

github "vadymmarkov/PinFloyd"

PinFloyd can also be installed manually. Just download and drop Sources folders in your project.

Author

Vadym Markov, [email protected]

Credits

This library was originally done at Hyper, a digital communications agency with a passion for good code and delightful user experiences.

Contributing

Check the CONTRIBUTING file for more info.

License

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].