多个注释(MKAnnotationView)在同一位置坐标

时间:2013-05-05 03:48:57

标签: iphone ios objective-c annotations mapkit

嗨我正试图在用户触摸时实现Annotations分组和动画。

我确实看了一个不同的集群库解决方案,但这对我不起作用,因为我在同一个坐标中有多个注释。

所以这就是我想做的事情

1-我确定同一地点(坐标)中有多个注释的位置? 怎么能实现这个?找到相同坐标中的注释并创建一个新的组注释?

2-更改该注释的颜色(让用户知道) 我可以用这种方法做到这一点  -(MKAnnotationView*)mapView:(MKMapView *)mapView viewForAnnotation:(id<MKAnnotation>)annotation;

3-如果用户触摸该组中的注释,注释将围绕其位置移动一圈。

到目前为止,我在地图上的所有注释都有一个非常暗的阴影。

我想现在专注于第一项任务 - 分组

我不是要求代码示例我可以做到这一点我只需要帮助找出用于实现任务的方法。

Annotations Idea

感谢您的帮助。

2 个答案:

答案 0 :(得分:6)

我最终从StormID

实现了这段代码

Handling MKMapView Annotation Pins on the Same Coordinate

我必须做一些改变,但效果很好。

all done

答案 1 :(得分:0)

为了摆脱由叠加的注释视图引起的暗影,我会更改你的mapView:viewForAnnotation:以识别传递的注释与另一个注释具有相同的坐标,并且只返回一个视图(不同的颜色) )其中一个注释。

然后,对于动画,触摸分组注释后,为了简单起见,我会暂时设置mapView.scrollEnabled = mapView.zoomEnabled = NO,隐藏组注释,并自己创建带有各个注释动画的叠加层。再次触摸时,将它们设置回中心,移除它们和叠加层,取消隐藏分组的注释并重新启用地图。