我在地图路线代码“线程1:致命错误:在展开可选值时意外发现nil”中遇到此错误

时间:2019-04-17 20:59:08

标签: swift dictionary mapkit

我正在尝试在iOS应用程序中绘制路线图,但我一直收到此错误,我从另一个类中获取了坐标,我都没错,但是进入类ruta时,它显示了错误< / p>

func ruta(destinoLat: Double,destinoLon: Double, usuarioLati: Double,usuarioLon: Double){

    let destinoLati: Double = destinoLat
    let destinoLongi: Double = destinoLon

    let usuarioLat: Double = usuarioLati
    let usuarioLong: Double = usuarioLon

    let destinationLocation = CLLocationCoordinate2D(latitude:destinoLati , longitude: destinoLongi)
    let sourceLocation = CLLocationCoordinate2D(latitude: usuarioLat, longitude:usuarioLong)

    let sourcePin = customPin(pinTitle: "", pinSubTitle: "", location: sourceLocation)
    let destinationPin = customPin(pinTitle: "", pinSubTitle: "", location: destinationLocation)

    self.map.addAnnotation(sourcePin) // Here is where te error shows
    self.map.addAnnotation(destinationPin)

    let sourcePlaceMark = MKPlacemark(coordinate: sourceLocation)
    let destinationPlaceMark = MKPlacemark(coordinate: destinationLocation)

    let directionRequest = MKDirections.Request()
    directionRequest.source = MKMapItem(placemark: sourcePlaceMark)
    directionRequest.destination = MKMapItem(placemark: destinationPlaceMark)
    directionRequest.transportType = .automobile

    let directions = MKDirections(request: directionRequest)
    directions.calculate { (response, error) in
        guard let directionResonse = response else {
            if let error = error {
                print("we have error getting directions==\(error.localizedDescription)")
            }
            return
        }

        let route = directionResonse.routes[0]
        self.map.addOverlay(route.polyline, level: .aboveRoads)

        let rect = route.polyline.boundingMapRect
        self.map.setRegion(MKCoordinateRegion(rect), animated: true)
    }

    self.map.delegate = self

}

我不知道该如何解决,有人可以帮助我吗?

0 个答案:

没有答案