7

嗨,如果用户触摸,我正在尝试实现注释分组和动画。

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

所以这就是我想做的

1-我确定在同一个地方有多个注释(坐标)?如何实现这一点?找到相同坐标中的注释并创建一个新的组注释?

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

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

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

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

我不是要我可以做的代码示例,我只需要帮助确定使用什么方法来实现任务。

注释理念

谢谢你的帮助。

4

2 回答 2

7

我最终从 StormID 实现了这段代码

在同一坐标上处理 MKMapView 注释引脚

我必须进行一些更改,但效果很好。

全部完成

于 2013-05-08T10:28:02.797 回答
0

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

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

于 2013-05-06T17:58:27.997 回答