Как нарисовать изогнутую ломаную линию, например, uber, facebook в GMSMapView для ios Swift - PullRequest
0 голосов
/ 04 ноября 2019

Я хочу нарисовать изогнутую линию между двумя конечными точками (что-то вроде facebook, uber).

Я пробовал этот код https://stackoverflow.com/a/53569754/4693326, но не получил точный результат. Я также прикрепилфайл для reference.is есть идеи?

enter image description here

1 Ответ

0 голосов
/ 04 ноября 2019

Чтобы нарисовать маршрут между двумя координатами, используйте API Google Maps Direction:

 @IBOutlet weak var mapViewX: GMSMapView!

  let origin = "\(37.778483),\(-122.513960)"
    let destination = "\(37.706753),\(-122.418677)"
    let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving&key=[YOUR-API-KEY]"

    Alamofire.request(url).responseJSON { response in
        let json = JSON(data: response.data!)
        let routes = json["routes"].arrayValue

        for route in routes
        {
            let routeOverviewPolyline = route["overview_polyline"].dictionary
            let points = routeOverviewPolyline?["points"]?.stringValue
            let path = GMSPath.init(fromEncodedPath: points!)

            let polyline = GMSPolyline(path: path)
            polyline.strokeColor = .black
            polyline.strokeWidth = 10.0
            polyline.map = mapViewX

        }
    }
...