             self.clusterManager.cluster()
         }
     }
+    
+    
+    
     
     override func loadView() {
         let camera = GMSCameraPosition.camera(withLatitude: 25.018744, longitude: 121.532785, zoom: 18.0)

                                     forCellWithReuseIdentifier: "cell")
        
        self.view.addSubview(self.collectionView)
        self.collectionView.addConstraints(fromStringArray: ["H:|[$self]|", "V:[$self(120)]"])
        self.collectionViewBottomConstraint = self.collectionView.addConstraintForAligning(to: .bottom, of: self.view, constant: 120).first as! NSLayoutConstraint
        
        
        if let dataURL = Bundle.main.url(forResource: "cafes", withExtension: "json") {

class KPMainMapViewController: UIViewController, GMSMapViewDelegate, GMUClusterManagerDelegate, UICollectionViewDataSource, UICollectionViewDelegate, KPMainViewControllerDelegate {
    
    weak var mainController:KPMainViewController!
    
    var collectionView: UICollectionView!
    var collectionViewBottomConstraint: NSLayoutConstraint!

    lazy var nearestButton: UIButton = {
        let button = UIButton(type: .custom)
        button.setTitle("離我最近", for: .normal)
        button.setBackgroundImage(UIImage(color: KPColorPalette.KPMainColor.mainColor!), for: .normal)
        button.titleLabel?.font = UIFont.systemFont(ofSize: 14)
        button.layer.cornerRadius = 5
        button.clipsToBounds = true
        return button
    }()
    
    private var clusterManager: GMUClusterManager!
    
    var mapView: GMSMapView {
        get {
            return self.view as! GMSMapView
        }
    }
    
    var currentDataModel:KPDataModel?
    var selectedDataModel: KPDataModel? {
