如何在整个世界地图 iOS Swift 上向 MKMapView 添加叠加层

Pio*_*otr 2 overlay mapkit mkmapview ios swift

我正在尝试在完整的地图空间上添加 ovarlay。我尝试使用 @available(iOS 4.0, *)public let MKMapRectWorld: MKMapRect 但找不到正确的方法。

Pio*_*otr 5

我已经找到办法了。

将叠加层添加到地图视图中,例如 viewDidLoad:

  if let fullRadius = CLLocationDistance(exactly: MKMapRectWorld.size.height) {

            mapView.add(MKCircle(center: mapView.centerCoordinate, radius: fullRadius))

        }
Run Code Online (Sandbox Code Playgroud)

并实现委托方法:

 func mapView(_ mapView: MKMapView, rendererFor overlay: MKOverlay) -> MKOverlayRenderer {
    if overlay.isKind(of: MKCircle.self) {

        let view = MKCircleRenderer(overlay: overlay)

        view.fillColor = UIColor.blue.withAlphaComponent(0.1)

        return view
    }
    return MKOverlayRenderer(overlay: overlay)
}
Run Code Online (Sandbox Code Playgroud)