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