防止轻触注释的MapView MKPolygon?

时间:2015-04-22 14:14:57

标签: swift mkmapview

我有一个带有一些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)) {

这就是它的样子:

enter image description here

有什么想法吗?我可以为annotion创建一个“更大”的区域,所以我不会为Annotation和MKPolygon触发这两个事件吗?

编辑:谢谢安娜,

生病尝试了,但是当我生病时尝试使用时,它会给我一个“在解开一个可选值时发现nil”错误:

var v:UIView = mapView.hitTest(mapPointAsCGP, withEvent: nil)! // error
if(v.isKindOfClass(CustomPointAnnotation) == true) {

0 个答案:

没有答案