         
         let distance = WeatherMapCalculations.getTheDistanceBased(self.projection.visibleRegion())
         
-        let tree = WeatherInfo.level1Tree.neighboursForLocation(camera.target, limitCount: 1)[0] as! SecondLevelQTree
-        WeatherInfo.currentSearchTree = tree
-        println(tree.count)
-
+        println("distance  \(distance)")
+        
         if camera.zoom >= clusterZoom {
             //display all icon
+            let tree = WeatherInfo.level2Tree.neighboursForLocation(camera.target, limitCount: 1)[0] as! SecondLevelQTree
+            WeatherInfo.currentSearchTree = tree
+            
             var iconToRemove = weatherIcons
             weatherIcons = [String: WeatherMarker]()
             
             var iconsData = tree.neighboursForLocation(camera.target, limitCount: 30)
-            
-            if iconsData[0].isMemberOfClass(ThirdLevelQTree){
-                var tempData = [QTreeInsertable]()
-                var dataLeft: UInt = 31
-                for thirdTree in iconsData{
-                    
-                    var localData = [AnyObject]()
-                    if (thirdTree as! ThirdLevelQTree).count < dataLeft {
-                        localData = (thirdTree as! ThirdLevelQTree).neighboursForLocation((thirdTree as! ThirdLevelQTree).coordinate, limitCount: (thirdTree as! ThirdLevelQTree).count)
-                    }else{
-                        localData = (thirdTree as! ThirdLevelQTree).neighboursForLocation((thirdTree as! ThirdLevelQTree).coordinate, limitCount: dataLeft)
-                    }
-                    for searchData in localData{
-                        tempData.append(searchData as! QTreeInsertable)
-                        dataLeft--
-                        if dataLeft <= 1{
-                            break
-                        }
-                    }
-                    
-                    if dataLeft <= 1{
-                        break
-                    }
-                }
-                iconsData = tempData
-            }
             
             WeatherInfo.getLocalWeatherInformation(iconsData as! [QTreeInsertable])
             

    var zoom: Float = 12
    
    let clusterZoom: Float = 11
    
    var iconSize = IconSize.Large
    

            var iconToRemove = weatherCluster
            weatherCluster = [WeatherMarker]()
            
            for icon in reducedLocations {
                
                var iconsData = helpTree.neighboursForLocation(icon.coordinate, limitCount: 10)
                
                WeatherInfo.getLocalWeatherInformation(iconsData as! [QTreeInsertable])
                
