2015-07-26 3 views
3

Когда вы ищете город и т. Д. На картах яблок, он также показывает время, необходимое для проезда рядом с указателем. Это что-то построено в mapKit API?Swift iOS MapKit во время движения

Мой код до сих пор:

import UIKit 
import MapKit 

class ShowMapViewController: UIViewController { 

    var annotation:MKAnnotation! 
    var localSearchRequest:MKLocalSearchRequest! 
    var localSearch:MKLocalSearch! 
    var localSearchResponse:MKLocalSearchResponse! 
    var error:NSError! 
    var pointAnnotation:MKPointAnnotation! 
    var pinAnnotationView:MKPinAnnotationView! 

    //Map 
    @IBOutlet weak var mapView: MKMapView! 

    //Exitbutton 

    @IBAction func exitMapButtonDidTouch(sender: AnyObject) { 
     dismissViewControllerAnimated(true, completion: nil) 
    } 


    override func viewDidLoad() { 
     super.viewDidLoad() 

     //TODO: Search zip, if not found search city 
     localSearchRequest = MKLocalSearchRequest() 
     localSearchRequest.naturalLanguageQuery = "My city" 
     localSearch = MKLocalSearch(request: localSearchRequest) 
     localSearch.startWithCompletionHandler { (localSearchResponse, error) -> Void in 

      //Show city if zip not found 
      if localSearchResponse == nil{ 
       var alert = UIAlertView(title: nil, message: "Place not found", delegate: self, cancelButtonTitle: "Try again") 
       alert.show() 
       return 
      } 

      //Show map and pointer 
      self.pointAnnotation = MKPointAnnotation() 
      //self.pointAnnotation.title = "My city" 
      self.pointAnnotation.coordinate = CLLocationCoordinate2D(latitude: localSearchResponse.boundingRegion.center.latitude, longitude:  localSearchResponse.boundingRegion.center.longitude) 


      self.pinAnnotationView = MKPinAnnotationView(annotation: self.pointAnnotation, reuseIdentifier: nil) 
      self.mapView.centerCoordinate = self.pointAnnotation.coordinate 
      self.mapView.addAnnotation(self.pinAnnotationView.annotation) 
     } 

    } 


} 

С этим я могу добавить заголовок над указателем, но это возможно, чтобы показать время/расстояние, а?

Заранее спасибо

ответ

5

Да, это то, что построен с Apple! Он называется MKRoute и может дать вам время в пути между двумя точками.

Вы можете создать MKRoute после предварительного формования MKDirectionsRequest.

Вот link с проектом, который использует MKDirectionsRequest, до apple documentation и ссылку на EVEN MORE полезную документацию по этому вопросу.

Удачи!

+0

Отлично! Только то, что я искал. Большое спасибо :) –