我在mapview上有3个chekbox,点击任意一个复选标记,该复选框的引脚被绘制,但是当我取消选中该框时,引脚应该被删除,但它们不是。那么如果取消选中该框,我怎样才能删除别针?
并删除如下:[_gogoZingMap removeAnnotations:NearbyPeopleArr];
但它不起作用。
帮我从地图中删除未选中的图钉。 在此先感谢
答案 0 :(得分:1)
有几种方法可以解决这个问题,这取决于你实施地图的方式。
我假设NearbyPeopleArr
是一个符合MKAnnotation协议的注释。
根据您的描述,听起来好像您有一个注释列表,并且您只想显示用户选择的那些注释。因此,您有两个选择:
每次选择或取消选择一个注释时,重新加载注释数组。这可能会更慢,但它可以让所有引脚再次生成动画,这可能有用也可能没有用。
每次选择或取消选择一个注释时,在数组的索引中删除或添加特定注释。这样更快,并且仅具有动画选择或取消选择的注释的效果。
对于选项1,您将使用addAnnotations:
和removeAnnotations:
方法,并根据用户的选择为它们提供新格式化的数组。
对于选项2,您将使用addAnnotation:
和removeAnnotation:
方法,并根据用户的选择为它们提供您想要操作的特定注释。
这就是我在没有看到任何代码的情况下真正提供的所有内容。希望有所帮助!