             update(mapView: mapView, annotations: annos as! [QTRNodePoint])
         }
     }
+    
+    func mapView(_ mapView: MKMapView, viewFor annotation: MKAnnotation) -> MKAnnotationView? {
+        let r = QTRNodePointView()
+        let x = annotation as! QTRNodePoint
+        r.count = Int(x.name)!
+        
+        return r
+    }
+    
+    func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
+        for view in views {
+            addBounceAnimation(toView: view)
+        }
+    }
 }
 
 let frame: CGRect = CGRect(x: 0, y: 0, width: 360, height: 360)

        map.addAnnotations(Array(add))
        map.removeAnnotations(Array(remove))
    }
}

class TestDelegate: NSObject, MKMapViewDelegate {

map.delegate = delegate
// map.addAnnotations(pointArray)

let scale = Double(map.bounds.size.width)/map.visibleMapRect.size.width
zoomLevel(fromScale: MKZoomScale(scale))
let annos = clusteredAnnotations(in: map.visibleMapRect, atScale: scale, fromNode: node!)
map.addAnnotations(annos)

PlaygroundPage.current.liveView = map
