彭水网站建设推广,海外宣传推广实施方案,网站定位方案,快速装修公司本文基于#xff1a;高德地图路径绘制进行了路径绘制的优化#xff0c;添加了根据交通信息#xff08;是否拥堵#xff09;来显示路况#xff0c;效果如图#xff1a;
图标资源#xff1a;
custtexture_bad custtexture_green custtexture_slow custtexture_serio…本文基于高德地图路径绘制进行了路径绘制的优化添加了根据交通信息是否拥堵来显示路况效果如图
图标资源
custtexture_bad custtexture_green custtexture_slow custtexture_serious
设置覆盖物 //路径搜索结果func onRouteSearchDone(_ request: AMapRouteSearchBaseRequest!, response: AMapRouteSearchResponse!) {// 取出第一种路线方案let stringWithOptional response.route.paths.first?.polyline!let distanceresponse.route.paths.first?.distancelet timeresponse.route.paths.first?.durationlet stepsresponse.route.paths.first?.steps//遍历导航路段 AMapStep 数组for step in steps! {//遍历路况信息数组for tmcs in step.tmcs{let result convertToArray(step.polyline)if var temp result {let polyline MAPolyline.init(coordinates: temp, count: UInt(temp.count))//设置路况状态描述为标题0 未知1 畅通2 缓行3 拥堵4 严重拥堵polyline?.titletmcs.statusmapView.add(polyline)overlays.append(polyline!)}}}//添加动画效果mapView.showOverlays(overlays, edgePadding: UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20), animated: true)print(距离\(distance!)米预计耗时\(time!)秒)}设置图标资源 //路径绘制代理func mapView(_ mapView: MAMapView!, rendererFor overlay: MAOverlay!) - MAOverlayRenderer! {if overlay is MAPolyline {let polygonView MAPolylineRenderer.init(polyline: (overlay as! MAPolyline))// 参数设置let titleoverlay.titlepolygonView?.lineWidth 20.0switch title {case 缓行:polygonView?.strokeImageUIImage.init(resource: ImageResource.custtextureSlow)breakcase 拥堵:polygonView?.strokeImageUIImage.init(resource: ImageResource.custtextureBad)breakcase 严重拥堵:polygonView?.strokeImageUIImage.init(resource: ImageResource.custtextureSerious)breakdefault://缓行、畅通polygonView?.strokeImageUIImage.init(resource: ImageResource.custtextureGreen)}return polygonView}return nil}