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

标签 ios swift mkmapview mapkit overlay

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

最佳答案

我已经找到办法了。

将叠加层添加到 map View ,例如 viewDidLoad:

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

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

        }

并实现委托(delegate)方法:

 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)
}

关于ios - 如何在整个世界地图 iOS Swift 上向 MKMapView 添加叠加层,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42694619/

相关文章:

iOS - MKOverlayView 自定义 View 矩形填充有效,但线条绘制无效

iphone - 没有在适当的时候更新iphone中mkMapView中的注释标题和副标题

ios - 如何在 iOS 中向 WWDC 2010 茶壶示例代码添加距离注意事项?

javascript - 如何将图像从 native react 发送到 native 模块?

swift - 从 Mac 应用程序运行 Swift 命令

swift - Assets 单例和引用循环

android - 错误消息 : The "ConvertResourcesCases" task failed unexpectedly

ios - Obj-C NSMutableArray 返回 nil

swift - 如何使用 Swift 创建 MIDI 文件?

ios - 不要在 MKMapView 放大/缩小时调整注释大小