SwiftUI 地图扩展添加 MKPolylineRenderer

问题描述

我找到了这篇文章,我正在尝试向 Map 添加功能

我已经创建了这个扩展,我想在地图上显示一个叠加层。目前它没有显示,我认为这是因为我没有指定 MKpolylineRenderer

如何在此扩展中指定渲染器?

extension Map {
    func mapStyle(_ mapType: MKMapType,showScale: Bool = true,showTraffic: Bool = false) -> some View {
        let map = MKMapView.appearance()
        map.mapType = mapType
        map.showsScale = showScale
        map.showsTraffic = showTraffic
        return self
    }

    func addAnnotations(_ annotations: [MKAnnotation]) -> some View {
        MKMapView.appearance().addAnnotations(annotations)
        return self
    }
    
    func addOverlay(_ overlay: MKOverlay) -> some View {
        MKMapView.appearance().addOverlay(overlay)
        return self
    }
    
}

查看

Map(coordinateRegion: .constant(MKCoordinateRegion(route.polyline.boundingMapRect)))
.addOverlay(route.polyline)

我知道我可以使用 UIViewRepresentable 并且我正在使用它,但问题是它对触摸和移动反应不佳。它卡住了,滚动很困难。使用 Map 可以完美运行。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)