当类型为SatelliteFlyover时,在MapView顶部显示MKPolyline?

时间:2019-07-06 19:33:50

标签: ios swift xcode mapkit mkpolyline

我想在MapKit的mapView上方显示几个MKPolylines。问题是将地图类型设置为.satelliteFlyover时,我的折线会消失。如果我更改为仅使用.satellite,则它们是可见的。

mapView.type = .satelliteFlyover
mapView.addOverlay(polyline)

1 个答案:

答案 0 :(得分:0)

有一个类似的问题,我发现iOS 13中的MKMultiPolylineRenderer更好地用于处理跨接MapType上的折线。您需要准备数组中的所有折线,以便可以使用所有折线:

var multiArray = [MKPolyline]()
// CREATE ALL OF YOUR POLYLINES AND APPEND THEM TO multiArray
view.addOverlay(MKMultiPolyline(multiArray))

然后,您需要创建一段代码来处理func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer中的MKMultiPolylines。我从字面上复制了我的MKPolyline部分,只是将任何引用从MKPolyline更改为MKMultiPolyline

如果您无法将目标更改为iOS 13,该怎么办?两种跨接地图类型在iOS 13之前都表现出类似的情况。我也having problems使用MKCircle,但我无法解决天桥地图类型。