【问题标题】:Change MapView Polyline style dynamically when user start moving on route in Swift当用户开始在 Swift 中移动路线时动态更改 MapView 折线样式
【发布时间】:2021-06-03 01:27:29
【问题描述】:

我正在使用 Apple MapView 在我的应用程序中显示导航。在以下代码的帮助下,我可以将折线的样式从取货位置更改为目标位置:

func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    let renderer = MKPolylineRenderer(overlay: overlay)
    renderer.strokeColor = POLYLINE_COLOR
    renderer.lineWidth = 3
    renderer.lineDashPattern =[0,6]
    return renderer
}

当用户向目标位置移动时,我想将虚线模式折线更改为直线。假设 User 正在向 Destination 移动,那么 PickUp to User 折线应该是直线,而 User to Destination 应该是 Dash line。

【问题讨论】:

    标签: ios swift3 mapkit


    【解决方案1】:

    我所做的是保留对创建的 MKPolylineRenderer 对象的引用。

    然后,如果发生某些事情(比如移动用户),我会更新渲染器,例如新的 lineDashPattern。

    然后我打电话给renderer.setNeedsDisplay()

    就是这样。

    记得对主队列中的渲染器对象和renderer.setNeedsDisplay()进行所有更新。

    【讨论】:

      猜你喜欢
      • 2018-09-19
      • 1970-01-01
      • 2021-05-24
      • 1970-01-01
      • 2017-12-26
      • 1970-01-01
      • 1970-01-01
      • 2020-06-07
      • 2013-06-06
      相关资源
      最近更新 更多