mapkit - 仅在部分 MKMap 内容上使用 MKOverlay `canReplaceMapContent`
问题描述
我创建了一个叠加层,我想覆盖整个世界,除了应用程序所关注的特定区域。我将 MKPolygon 子类化如下:
class ReplacingPolygion:MKPolygon{
override func canReplaceMapContent()->Bool{
return true
}
override var boundingMapRect: MKMapRect { MKMapRect.world }
}
据我了解,这意味着我的叠加层将替换现有的地图内容并绘制在整个世界上。我已经用覆盖整个世界地图的坐标初始化了上面的类,除了内部多边形,它将我需要的区域从更大的覆盖中切出。因此,这会为除了我想要的区域之外的整个世界创建一个叠加层。
ReplacingPolygion(coordinates: worldPolygon!, count: worldPolygon!.count, interiorPolygons: [userPolygon])
问题是,因为我设置canReplaceMapContent()
它true
不会在任何地方绘制地图,包括透明的内部多边形。
有没有办法强制MKMapView
渲染上述区域中的瓷砖interiorPolygon
?
解决方案
推荐阅读
- flutter - 颤振列表
不是 FutureOr 类型的子类型 - >
- r - R 编程:调用 R 程序我在使用 png() 函数时收到错误
- openvpn - 选择 IP 地址的 openvpn 隧道速度较慢
- python - 使用 PubMed (python) 查找疾病的文章数量
- python - django 中的用户模型未扩展到其他模型
- java - 我收到此错误:线程“main”中的异常 java.lang.NoClassDefFoundError: org/apache/commons/csv/CSVFormat
- node.js - Discord.JS 未知命令无法正常工作
- python - django中views.py创建评论的问题
- json - 通过bash检查特定字符串是否在Json文件中
- html - 如何在 node express 中包含 css 文件?