如何在Google地图ios中显示从源到目的地的所有可能路线

时间:2016-10-03 07:49:32

标签: ios objective-c google-maps google-directory-api

我想在我的iOS应用程序中实现类似的功能,如下图所示,但我不知道如何完成它。我想要做类似的事情。

enter image description here

但仍无法完成任务。通过使用this url,我可以从源到目的地获取方向,但不能像图像中所示的多路径

NSString *direApi = [NSString stringWithFormat:@"http://maps.googleapis.com/maps/api/directions/json?origin=%f,%f&destination=%f,%f&sensor=false",
                                               srcLocation.latitude,
                                               srcLocation.longitude,
                                               desLoc.latitude,
                                               desLoc.longitude];

提前感谢您的帮助..

2 个答案:

答案 0 :(得分:2)

要让Google地图指导服务提供多种路线选择,您可以在发送路线请求时添加alternatives参数(optional parameters之一)。

然后,在使用Directions API获取从源到目的地的指示后,您可以使用shapes(例如polylines)绘制地图上的路径和路线。

以下是添加折线的步骤:

  
      
  1. 创建GMSMutablePath对象。
  2.   
  3. 使用addCoordinate:addLatitude:longitude:方法设置路径中的点。
  4.   
  5. 使用路径作为参数实例化新的GMSPolyline对象。
  6.   
  7. 根据需要设置其他属性,例如strokeWidthstrokeColor
  8.   
  9. 设置map。{/ li>的GMSPolyline属性   
  10. 折线显示在地图上。
  11.   

添加折线后,您也可以对其进行修改。但是,如文档中所述,请确保您持有GMSPolyline对象。

要改善线条的外观或更改颜色,您还可以尝试以下操作:

您也可以在给定的链接中找到示例代码。希望有所帮助!

答案 1 :(得分:1)

private func drowRoute(){

let path = GMSMutablePath()
    path.addLatitude(self.lat!, longitude: self.long!)
    path.addLatitude(self.destLat!, longitude: self.destLong!)
let polyline = GMSPolyline(path: path)
polyline.strokeWidth = 2.0
polyline.strokeColor = UIColor.blue
polyline.geodesic = true
polyline.map = mappView
}