is there a way to get directions in mkmapview using a built in apple API?

后端 未结 4 1612
爱一瞬间的悲伤
爱一瞬间的悲伤 2020-12-01 05:50

I know google maps are known to be the best maps out there, but i dont want to have to download a bunch of extra libraries and all that. I\'d prefer to do something quick an

4条回答
  •  执念已碎
    2020-12-01 06:10

    Swift version

            let request = MKDirectionsRequest();
            request.source = MKMapItem.mapItemForCurrentLocation();
            let locationPlacemark = MKPlacemark(coordinate: CLLocationCoordinate2DMake(13.724362, 100.515342), addressDictionary: nil);
            request.destination = MKMapItem(placemark: locationPlacemark);
            request.transportType = MKDirectionsTransportType.Any;
            request.requestsAlternateRoutes = true;
            let directions = MKDirections(request: request);
    
            directions.calculateDirectionsWithCompletionHandler ({
                (response: MKDirectionsResponse?, error: NSError?) in
                print(response?.description)
                print(error?.description)
                guard let response = response else {
                    //handle the error here
                    return;
                }
                self.myRoute = response.routes[0]
                self.mkMapView.addOverlay(self.myRoute!.polyline)
            });
    

    and its delegate

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

提交回复
热议问题