我目前正在学习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地图应用程序?
提前致谢!