高德地图如何自行规划路线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高德地图如何自行规划路线相关的知识,希望对你有一定的参考价值。

新无需连同地图数据一起下载,地图数据i-Fi直接下载.可按需下载(分省下载)为你节省存储空间,支持电脑下载导入或手机W呵呵,直接在各大市场下载安装即可,建议还是用“图吧地图的好,导航程序与地图数据独立更新! 参考技术A 回答

您好,1、打开高德地图,并搜索目的地

2、在始终点搜索栏右边有一个加号,点击设置途经点。

3、输入途经点地名并点击添加,最多可添加三个,添加好后点击完成

4、高德地图自动生成有途经点的新路线,编辑完成。

iOS-高德地图路线规划开发记录

1. 骑行路径规划调用

        // 获取当前位置作为起点
        let beginLocation = FCMapShareTool.shared._userLocationCoordinate2D
        
        let request = AMapRidingRouteSearchRequest.init()
        // 路径起始点
        request.origin = AMapGeoPoint.location(withLatitude: CGFloat(beginLocation?.latitude ?? 0.00 ), longitude: CGFloat(beginLocation?.longitude ?? 0.00))
        // 路径终点 
        request.destination = AMapGeoPoint.location(withLatitude: CGFloat(location.latitude ), longitude: CGFloat(location.longitude))
        // 调用高德地图API
        self._searchMap?.aMapRidingRouteSearch(request)

2. 线路绘制到地图详细代码

//  路径规划线路渲染到地图上的详细步骤
// 1. 需要把字符串加工成经纬度
// 2. 把转换好的经纬度装进数组
// 3. 移除以前的线路
// 4. 生成新的线路
// 5. 把新的线路添加到地图上。
// 6. 线路渲染,看下面详细步骤
    func onRouteSearchDone(_ request: AMapRouteSearchBaseRequest!, response: AMapRouteSearchResponse!) 
        if response.route.paths.count > 0 
            // 取出第一种路线方案
            let path = response.route.paths[0]
            var corArray = [CLLocationCoordinate2D]()
            // 将每段线路中的路径经纬度全部载入corArray中。 
            for (_,step) in path.steps.enumerated() 
                let lineArray = step.polyline.split(separator: ";")
                for str in lineArray 
                    let tempCorArray = str.split(separator: ",")
                    if tempCorArray.count == 2 
                        let tempLong = String(tempCorArray[0])
                        let  tempLat = String(tempCorArray[1])
                        let cor = CLLocationCoordinate2D.init(latitude: CLLocationDegrees(CGFloat(tempLat.decimalStringToDouble() ?? 0.00)), longitude: CLLocationDegrees(CGFloat(tempLong.decimalStringToDouble() ?? 0.00)))
                        
                        corArray.append(cor)
                    
                
            
            
            if var temp = corArray as? [CLLocationCoordinate2D] 
                // 移除旧线路 
                if let tempPoly = _polyLine 
                    self.mapView.remove(tempPoly)
                
                
                // 根据corArray数组组建新的线路,并添加到地图上。 
                let polyline = MAPolyline.init(coordinates: &temp, count: UInt(temp.count))
                _polyLine = polyline
                self.mapView.add(polyline)
                
            
        
    

3. 线路绘制

      func mapView(_ mapView: MAMapView!, rendererFor overlay: MAOverlay!) -> MAOverlayRenderer! 
          if let tempOver = overlay as? MAPolyline 
            let polygonView = MAPolylineRenderer.init(polyline: tempOver)
            // 参数设置
            polygonView?.lineWidth = 8.0
            polygonView?.strokeColor = UIColor.muColor(.blue)
            polygonView?.fillColor = UIColor.muColor(.red)
            polygonView?.lineJoinType = kMALineJoinRound
            polygonView?.lineCapType = kMALineCapRound
            return polygonView
          
          return nil
      
      

以上是关于高德地图如何自行规划路线的主要内容,如果未能解决你的问题,请参考以下文章

高德地图驾车路线规划怎么自己绘制线路

高德地图怎样自已规划驾车线路?

高德地图驾车路线规划怎么自己绘制线路

高德地图怎样自己设计路线

高德地图怎么导航,高德地图如何导航

如何实现在H5里调起高德地图APP?(上)