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

        
        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)

        if camera.zoom >= clusterZoom {
            //display all icon
            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])
            

            }
            iconToRemove.removeAll(keepCapacity: false)
            
        }else if camera.zoom < splitZoom{
        
            let tree = WeatherInfo.level1Tree.neighboursForLocation(camera.target, limitCount: 1)[0] as! SecondLevelQTree
            WeatherInfo.currentSearchTree = tree
            
            let helpTree = WeatherInfo.level2Tree.neighboursForLocation(camera.target, limitCount: 1)[0] as! SecondLevelQTree
            
            var mapRegion = WeatherMapCalculations.convertRegion(camera.target, distance: distance)
            var reducedLocations = tree.getObjectsInRegion(mapRegion, minNonClusteredSpan: min(mapRegion.span.latitudeDelta, mapRegion.span.longitudeDelta) / 8)
            reducedLocations = removeIconOutSideScreen(reducedLocations)
