ios - Swift iOS MapKit 及时行驶距离

标签 ios objective-c iphone xcode swift

当您在苹果 map 中搜索城市等时,它还会在指针旁边显示开车到那里所需的时间。这是 mapKit API 中内置的东西吗?

到目前为止我的代码是:

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)
        }

    }


}

有了这个,我可以在指针上方添加​​一个标题,但是否也可以显示时间/距离?

提前致谢

最佳答案

是的,这是 Apple 内置的东西!它称为 MKRoute,可以为您提供两点之间的旅行时间。

您可以在执行 MKDirectionsRequest 之后创建一个 MKRoute

这是一个 link对于使用 MKDirectionsRequest 的项目,到 apple documentation ,以及指向 EVEN MORE 的链接有关该主题的有用文档。

祝你好运!

关于ios - Swift iOS MapKit 及时行驶距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31643166/

相关文章:

ios - 如何向 PhoneNumberTextField 中的文本和占位符添加插图

ios - OCMock 对象真的是一个类的实例吗?

objective-c - 任意对象和属性的非 CALayer 动画框架

iphone - CGBitmapContextCreate 的内存使用率非常高

iphone - 找不到方法 '-parseRss:entries.'(返回类型默认为 'id')

ios - 从 iOS 中的主上下文重新加载私有(private)上下文

ios - 更改单元格删除按钮的文本

iphone - 当用户点击 iPhone 键盘上的“发送”按钮时,如何执行选择器?

objective-c - 如何在测试用例中使用 AppDelegate?

objective-c - Testflight : The APS environment in your embedded. mobileprovision 上的无效 IPA 错误与您的二进制文件不匹配