当有多个annotationView附近时,iOS annotationView不会拖动?

时间:2017-07-21 10:29:01

标签: ios swift annotations mkmapview mapkit

我有一个地图视图,在地图视图中有多个注释,还有一个特殊注释(添加地点)也可以通过拖动注释(添加地点)在地图上添加新注释。当“添加地点”注释下方/上方没有注释时,“添加地点”注释工作正常但是当“添加地点”注释下方/上方有注释时,我尝试拖动“添加地点”注释,它不起作用,其他注释变得活跃。图像会更好地解释这一点。

enter image description here

enter image description here

拖动代码

func mapView(_ mapView: MKMapView, annotationView view: MKAnnotationView, didChange newState: MKAnnotationViewDragState, fromOldState oldState: MKAnnotationViewDragState) {
        switch newState {
        case .starting:
            view.dragState = .dragging
            print("start")
        case .ending, .canceling:
            view.dragState = .none
            print("end")

            // Code to open Add new Annotation

        default: break
        }
    }

我使用此代码编码以在所有其他注释之上进行注释(“添加地点”)

func mapView(_ mapView: MKMapView, didAdd views: [MKAnnotationView]) {
        for annotationView in views {
            if(!(annotationView.annotation is MKUserLocation) && annotation != nil)
            {
                if(annotationView.annotation as! CustomPointAnnotation == annotation )
                {
                    annotationView.layer.zPosition = 999
                }
                else
                {
                    annotationView.layer.zPosition = 100
                }
            }
        }
    }

0 个答案:

没有答案