ios 用户在MapKit上选择一个注解

u1ehiz5o  于 2022-12-15  发布在  iOS
关注(0)|答案(1)|浏览(116)

我用MapKit做了一个应用程序,我希望用户可以选择一个注解(点击),然后打开一个新的视图控制器。
我用的方法是:

func mapView(_ mapView: MKMapView, didSelect view: MKAnnotationView) {
    performSegue(withIdentifier: "showClic", sender: nil)
}

但是这段代码在VC打开的时候出现了一个聚类注解.
当有一簇注解时,我想使用摄像机进行缩放,并仅在仅选择一个注解时打开VC。

5n0oy7gb

5n0oy7gb1#

函数fitMap视图到注解列表(注解:[MKPointAnnotation],用户位置:CL位置坐标2D)-〉空{让Map边缘填充= UI边缘插入(顶部:20,左侧:20,底部:20,右:20)变量缩放矩形:MKMap矩形= MKMap矩形空

for index in 0..<annotations.count {
        let annotation = annotations[index]
        let aPoint:MKMapPoint = MKMapPointForCoordinate(annotation.coordinate)
        let rect:MKMapRect = MKMapRectMake(aPoint.x, aPoint.y, 0.1, 0.1)

        if MKMapRectIsNull(zoomRect) {
            zoomRect = rect
        } else {
            zoomRect = MKMapRectUnion(zoomRect, rect)
        }
    }

    let aPoint:MKMapPoint = MKMapPointForCoordinate(userLocation)
    let rect:MKMapRect = MKMapRectMake(aPoint.x, aPoint.y, 0.1, 0.1)

    if MKMapRectIsNull(zoomRect) {
        zoomRect = rect
    } else {
        zoomRect = MKMapRectUnion(zoomRect, rect)
    }
    mapView.setVisibleMapRect(zoomRect, edgePadding: mapEdgePadding, animated: true)
}

相关问题