swift - 如何在 MapKit IOS8 和 Swift 中设置 map 边界

标签 swift ios8 mapkit

在对这个有用的网站进行了大量研究之后,我放下了枪...

我有一张带有很多注释的 map 。 我将设置界限,以便用户停留在想要的地方。 我找到的所有文档都是针对 Objective C 和以前的 ios。

我正在寻找一种适用于 IOS 8 和 Swift 的方法。

最佳答案

我没有检查,但逻辑上答案是 here会为你工作。你可以通过计算它超过边界来重置所需地理坐标之间的区域。swift 不好,但你可以尝试下面的代码

func mapView(mapView: MKMapView!, regionDidChangeAnimated animated: Bool) {

    if ((mapView.region.span.latitudeDelta > 15.589921 ) || (mapView.region.span.longitudeDelta > 175.836914) ) {

        var centerCoord:CLLocationCoordinate2D = CLLocationCoordinate2DMake(-41.162114, 172.836914);
        var spanOfNZ:MKCoordinateSpan = MKCoordinateSpanMake(13.589921, 14.062500);
        var NZRegion:MKCoordinateRegion = MKCoordinateRegionMake(centerCoord, spanOfNZ);
        mapView .setRegion(NZRegion, animated: true);

    }
}

关于swift - 如何在 MapKit IOS8 和 Swift 中设置 map 边界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30922974/

相关文章:

ios - 如何在声明函数之外访问单元格属性?

ios - 无法让 xcode Storyboard 模式按钮更改屏幕

swift - 重复之间的 CABasicAnimation 延迟

ios - 如何设置MKMapView区域以缩放到userLocation的精度?

ios5 - MKMapView NSInvalidArgumentException ios 中的无效区域崩溃

ios - 带有 cocoapods 的嵌入式 swift 框架

iOS 8 UITableView 单元格在选择时会跳转

UIView transition With View 和设置框架不再适用于 iOS 8

objective-c - 在 iOS 8 UITableView heightForHeaderInSection 中不是可选的

ios - MKMapView 无限水平滚动