 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)
+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

            update(mapView: mapView, annotations: annos as! [QTRNodePoint])
        }
    }
}

let frame: CGRect = CGRect(x: 0, y: 0, width: 360, height: 360)

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

func addBounceAnimation(toView view: UIView) {
    let bounce = CAKeyframeAnimation(keyPath: "transform.scale")
    bounce.values = [0.05, 1.1, 0.9, 1.0]
    bounce.duration = 0.6
    
    var timingFunctions: [CAMediaTimingFunction] = []
    
    for _ in 0..<4 {
        timingFunctions.append(CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut))
    }
    bounce.timingFunctions = timingFunctions
    bounce.isRemovedOnCompletion = false
    
    view.layer.add(bounce, forKey: "bounce")
}

class TestDelegate: NSObject, MKMapViewDelegate {
