GoogleMaps iOS — получение прямой линии вместо маршрута

Я использую маршруты GoogleMaps для своего приложения iOS, чтобы показать маршрут между моим текущим местоположением и выбранным местом. Для этого я использую полилинию, проблема в том, что она рисует прямую вместо маршрута.

Может кто-нибудь помочь с этим?


person Kelvin    schedule 06.04.2016    source источник


Ответы (1)


Я решил свою проблему. Вот мой код и объяснение, если кто-то столкнется с такой же проблемой.

После того, как у вас есть URL-адрес, чтобы получить указания из направлений Google API. Вы делаете следующее (я использовал SwiftyJSON из github):

            let url = NSURL(string: urlString)
            let request = NSURLRequest(URL: url!)
            let session = NSURLSession(configuration: NSURLSessionConfiguration.defaultSessionConfiguration())
            let task = session.dataTaskWithRequest(request) { (data, response, error) -> Void in

                if error == nil
                {
                    let swiftyJSON = JSON(data: data!)
                    let route = swiftyJSON["routes"].array
                    let routeDirection = route![0].dictionary

                    let placeInfo = routeDirection!["overview_polyline"]!.dictionaryValue

                    let points = placeInfo["points"]?.string
                    let path = GMSPath(fromEncodedPath: points!)
                    let pathLine = GMSPolyline(path: path)
                    pathLine.strokeColor = UIColor.blueColor()
                    pathLine.strokeWidth = 6
                    pathLine.map = self.GoogleMaps
                }
            }
            task.resume()
person Kelvin    schedule 07.04.2016