我创建了一个叠加层,我想覆盖整个世界,除了应用程序所关注的特定区域。我将 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
?