我有一个带有一些MKPolygons和一些自定义注释的MKMapView。当生病时尝试点击MKPolygon内的注释时,多边形的触发器总是被触发。
我可以阻止这个吗?我已经检查了多边形水龙头:
func handleMapTap(tap: UITapGestureRecognizer!) {
var tapPoint = tap.locationInView(self.mapView)
var tapCoord: CLLocationCoordinate2D = self.mapView.convertPoint(tapPoint, toCoordinateFromView: self.mapView)
var mapPoint: MKMapPoint = MKMapPointForCoordinate(tapCoord)
var mapPointAsCGP: CGPoint = CGPointMake(CGFloat(mapPoint.x),CGFloat(mapPoint.y))
for overlay in self.mapView.overlays {
if(overlay.isKindOfClass(MKPolygon)) {
这就是它的样子:
有什么想法吗?我可以为annotion创建一个“更大”的区域,所以我不会为Annotation和MKPolygon触发这两个事件吗?
编辑:谢谢安娜,
生病尝试了,但是当我生病时尝试使用时,它会给我一个“在解开一个可选值时发现nil”错误:
var v:UIView = mapView.hitTest(mapPointAsCGP, withEvent: nil)! // error
if(v.isKindOfClass(CustomPointAnnotation) == true) {