         mapView.addAnnotation(mapAnnotation)
         
         sceneLocationView.addLocationNodeWithConfirmedLocation(locationNode: locationAnnotationNode)
+    }
+    
+    // get distance from point to current location
+    private func userDistance(from point: CLLocation) -> Double? {
+        guard let userLocation = currentLocation else {
+            print("Error - User location unknown!")
+            return nil
+        }
+        return userLocation.distance(from: point)
+    }
+    
+    func locationManager(_ manager: CLLocationManager,  didUpdateLocations locations: [CLLocation]) {
+        
+        currentLocation = locations.last
+        displayPointFeatures()
+        
     }
     
     // MARK: MapViewDelegate

    
    func displayPointFeatures() {
        let pointFeatures = PointFeatureCollection()
        pointFeatures.features.forEach(display)
    }
    
    func display(streetFeature: GeoFeature<Point, [Double]>) {
        let locationAnnotationNode = LocationAnnotationNode(streetFeature: streetFeature)
        
        let mapAnnotation = MKPointAnnotation()
        mapAnnotation.coordinate = streetFeature.coordinate

}

class ViewController: UIViewController,
MKMapViewDelegate, SceneLocationViewDelegate, CLLocationManagerDelegate{
    
    
    let sceneLocationView = SceneLocationView()
    let mapView = MKMapView()
    var numberOfPointsOfInterest = 0
    let locationManager = CLLocationManager()
    var currentLocation: CLLocation?

    override func viewDidLoad() {
        super.viewDidLoad()
        sceneLocationView.showAxesNode = true
        sceneLocationView.locationDelegate = self
        
        locationManager.desiredAccuracy = kCLLocationAccuracyHundredMeters
        locationManager.distanceFilter = 100.0
        locationManager.delegate = self
        locationManager.startUpdatingLocation()
        
        // example node with coordinates for a street near Alexanderplatz
        let pinCoordinate = CLLocationCoordinate2D(latitude: 52.528700, longitude: 13.416931)
