【问题标题】:Swift iOS MapKit driving distance in timeSwift iOS MapKit 及时行驶距离
【发布时间】:2015-07-26 23:51:15
【问题描述】:

当您在苹果地图中搜索城市等时,它还会在指针旁边显示开车到那里所需的时间。这是 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)
        }

    }


}

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

提前致谢

【问题讨论】:

    标签: ios objective-c iphone xcode swift


    【解决方案1】:

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

    您可以在执行MKDirectionsRequest 后创建MKRoute

    这是一个 link 与一个使用 MKDirectionsRequest 的项目,apple documentation,以及一个指向 EVEN MORE 的有用文档的链接。

    祝你好运!

    【讨论】:

    • 太棒了!正是我想要的。非常感谢:)
    猜你喜欢
    • 2015-05-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多