Swift - Google地图从当前位置更新路线

时间:2017-10-03 20:16:03

标签: google-maps google-maps-api-3 swift3 google-places-api

我目前正在学习Swift的谷歌地图API,因此我有几个问题,希望你们中的一些人可以回答这些问题。碰巧我试图创建一个简单地给用户指示的应用程序,就像Apple Maps和Google Maps一样,它只是为用户绘制了一个方向路线。我已经成功地完成了这项工作,但我正在努力的是 - 简单地“更新”#39;方向而不是不断创造'每次用户位置更新时,新方向路由。我该怎么做才能做到这一点?

这是一个修改过的代码,我在stackOverflow上找到了一些其他地方,我目前正用它来绘制方向:

 func drawPath(startLocation: CLLocation, endLocation: CLLocation)
    {
        let origin = "\(startLocation.coordinate.latitude),\(startLocation.coordinate.longitude)"
        let destination = "\(endLocation.coordinate.latitude),\(endLocation.coordinate.longitude)"


        let url = "https://maps.googleapis.com/maps/api/directions/json?origin=\(origin)&destination=\(destination)&mode=driving"

        Alamofire.request(url).responseJSON { response in

            print(response.request as Any)  // original URL request
            print(response.response as Any) // HTTP URL response
            print(response.data as Any)     // server data
            print(response.result as Any)   // result of response serialization

            let json = JSON(data: response.data!)
            let routes = json["routes"].arrayValue

            // print route using Polyline
            for route in routes
            {
                let routeOverviewPolyline = route["overview_polyline"].dictionary
                let points = routeOverviewPolyline?["points"]?.stringValue
                let path = GMSPath.init(fromEncodedPath: points!)
                let polyline = GMSPolyline.init(path: path)
                polyline.strokeWidth = 4
                polyline.strokeColor = UIColor.red
                polyline.map = self.mapView
            }

        }
    }

然而,我正在努力的是让这个“活跃”。 - 并根据用户的当前位置更新方向。换句话说,避免有明显的距离'不再需要的用户。有任何想法吗?而且,是否无法获取诸如“到目的地的时间”这样的信息。和目的地的距离'还有?或者这是我必须做的事情,提供直接链接到Google地图应用程序?

提前致谢!

0 个答案:

没有答案