ios - 当类型为 SatelliteFlyover 时,在 MapView 顶部显示 MKPolyline?
问题描述
我想MKPolylines
在 MapKit 的 mapView 上展示一些。问题是当将地图类型设置为.satelliteFlyover
我的折线时会消失。如果我改为只使用.satellite
它们是可见的。
mapView.type = .satelliteFlyover
mapView.addOverlay(polyline)
解决方案
有类似的问题,我发现 iOS 13 中的 MKMultiPolylineRenderer 在处理天桥 MapType 上的折线时要好得多。您需要在数组中准备所有折线,以便您拥有所有可用的折线:
var multiArray = [MKPolyline]()
// CREATE ALL OF YOUR POLYLINES AND APPEND THEM TO multiArray
view.addOverlay(MKMultiPolyline(multiArray))
然后你需要创建一段代码来处理 MKMultiPolylines 中的func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer
. 我从字面上复制了我的 MKPolyline 部分,只是将任何引用从 更改MKPolyline
为MKMultiPolyline
。
IDK 如果您无法将目标更改为 iOS 13 该怎么办。两种天桥地图类型在 iOS 13 之前都表现出类似的情况。我也遇到了 MKCircle 问题,我无法修复天桥地图类型。
推荐阅读
- python-3.x - 计数二进制零直到 1
- tableau-api - 如何在 Tableau 中与没有 Tableau 帐户或 Tableau Reader 的客户共享工作簿
- python - 无法用 numpy 替换数据
- qaf - Qmetry-如何存储和访问字符串数组列表的数组
- json - 如何访问任何级别的密钥?
- php - htaccess 中的 RewriteRule 失败,但它可能是我的主机
- php - 如何在php上解码字符串。iconv 解码不起作用
- javascript - 我想为aframe动画的属性定义一个变量
- rust - unwrap_or in rust 返回两个值?
- azure - 在 Azure Function App/Azure 容器实例中安装 Azure DevOps 测试代理以利用切片测试