     private let sceneView = ARSCNView()
     
     public weak var delegate: SceneLocationViewDelegate?
+    
+    ///The method to use for determining locations.
+    ///Not advisable to change this as the scene is ongoing.
+    public var locationEstimateMethod: LocationEstimateMethod = .mostRelevantEstimate
     
     let locationManager = LocationManager()
     

    }
    
    //MARK: LocationNodes
    
    ///Upon being added, a node's location, locationConfirmed and position will be modified and should not be changed externally.
    public func addLocationNodeForCurrentPosition(locationNode: LocationNode) {
        guard let currentPosition = currentScenePosition(),
        let currentLocation = currentLocation(),

    }
    
    public func currentLocation() -> CLLocation? {
        if locationEstimateMethod == .coreLocationDataOnly {
            return locationManager.currentLocation
        }
        
        guard let bestEstimate = self.bestLocationEstimate(),
            let position = currentScenePosition() else {
                return nil
