             if  let container = jsonObject as? [String : [String: Any]],
                 let coordinates = container[ViewController.jsonKey] as? [String : [String : Double]] {
                 
-                var markers = Array<Marker>(repeating: Marker(coordinate: CLLocationCoordinate2D(latitude: 0, longitude: 0)), count: coordinates.count)
+                var markers = Array<Marker>(repeating: Marker(coordinate: CLLocationCoordinate2D(latitude: 0, longitude: 0), position: 0), count: coordinates.count)
                 for (key, value) in coordinates {
-                    markers[Int(key)! - 1] = Marker(coordinate: CLLocationCoordinate2D(latitude: value["latitude"]!, longitude: value["longitude"]!))
+                    let position = Int(key)!
+                    markers[position - 1] = Marker(coordinate: CLLocationCoordinate2D(latitude: value["latitude"]!, longitude: value["longitude"]!), position: position)
                 }
                 return markers
             }

    }
    
    @IBAction func mark(_ sender: UIBarButtonItem) {
        let marker = Marker(coordinate: UserLocation.instance.currentLocation!.coordinate)
        markers.append(marker)
        mapView.addAnnotation(marker)
    }

        mapView.delegate = self

        _ = UserLocation.instance.addListener(self, handlerClassMethod: ViewController.userLocationEventHandler)

        let doubleTapRecognizer: UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(didDoubleTapMapView))
        doubleTapRecognizer.numberOfTapsRequired = 2
        doubleTapRecognizer.numberOfTouchesRequired = 1
        doubleTapRecognizer.delaysTouchesBegan = true
        mapView.gestureView.addGestureRecognizer(doubleTapRecognizer)
    }

    @objc func didDoubleTapMapView(recognizer: UITapGestureRecognizer) {
        if recognizer.state == .ended { trackUser = !trackUser }
    }

    private func userLocationEventHandler(event: UserLocationEvent) {
