2017-11-12 14 views
2

この質問のSOの答えは、Objective-cを使用しているか、Swift 2を使用しています。いずれにしても、最初の座標は(緯度、 、2番目のポイント(coordinates.latitude、coordinates.longitude)に適用されます。これは私がこれまでに取得することができたものですが、それでも私は2つの問題を抱えて:MapKit Swiftを使用して2つの座標間のパスを描く

Value of type 'MKDirectionsRequest' has no member 'setSource' 
Value of type 'MKDirectionsRequest' has no member 'setDestination' 

私は、このページからこのコードを得た任意の方法を:http://studyswift.blogspot.com/2014/10/mkdirections-draw-route-from-location.html

は、これはこれまでのところ私のコードです:

@IBOutlet weak var myMap: MKMapView! 
var myRoute : MKRoute? 
私は、次のしている viewDidLoadインサイド

:後

let directionsRequest = MKDirectionsRequest() 
     let markFirstPoint = MKPlacemark(coordinate: CLLocationCoordinate2DMake(lat, long), addressDictionary: nil) 
     let markSecondPoint = MKPlacemark(coordinate: CLLocationCoordinate2DMake(coordinates.latitude, coordinates.longitude), addressDictionary: nil) 
     directionsRequest.setSource(MKMapItem(placemark: markSecondPoint)) 
     directionsRequest.setDestination(MKMapItem(placemark: markFirstPoint)) 
     directionsRequest.transportType = MKDirectionsTransportType.automobile 
     let directions = MKDirections(request: directionsRequest) 
     directions.calculate { (response:MKDirectionsResponse!, error: Error!) -> Void in 
      if error == nil { 
       self.myRoute = response.routes[0] as? MKRoute 
       self.myMap.add((self.myRoute?.polyline)!) 
      } 
     } 

を私はこれを持っている:

func mapView(mapView: MKMapView!, rendererForOverlay overlay: MKOverlay!) -> MKOverlayRenderer! { 
     var myLineRenderer = MKPolylineRenderer(polyline: (myRoute?.polyline)!) 
     myLineRenderer.strokeColor = UIColor.red 
     myLineRenderer.lineWidth = 3 
     return myLineRenderer 
    } 

は、私はこのコードが動作するように得ることができる方法はありますか?

答えて

3

MKDirectionsRequestのドキュメントをご覧ください。 sourceプロパティとdestinationプロパティがあります。

ライン:

directionsRequest.setSource(MKMapItem(placemark: markSecondPoint)) 
directionsRequest.setDestination(MKMapItem(placemark: markFirstPoint)) 

になる:

directionsRequest.source = MKMapItem(placemark: markSecondPoint) 
directionsRequest.destination = MKMapItem(placemark: markFirstPoint) 
+0

感謝の男、それが働きました。 'スレッド1:致命的なエラー:オプション 'をアンラープしている間に予期せずnilが見つかった' この行にある: 'self.myMap.add((self.myRoute?.polyline)!)' – codeDojo

+0

それはあなたに別の質問を投稿すべき完全に別個の問題です。しかし、それを行う前に、https://stackoverflow.com/questions/32170456/what-does-fatal-error-unexpectedly-found-nil- while-unwrapping-an-optional-valu – rmaddy

関連する問題