我怎么知道地图视图上是否已经有注释

时间:2018-06-24 14:42:37

标签: swift annotations mapkit

我尝试在且仅当mapview上没有相同的图钉时才向Mapview添加注释图钉,以避免在同一位置出现多个重复注释。

有人可以帮我吗?

2 个答案:

答案 0 :(得分:1)

您可以使用mapView.view(for:)方法。

例如

    if (self.mapView.view(for: annotation) != nil) {
        print("pin already on mapview")
    }

答案 1 :(得分:0)

@小川晃介建议的方法可行。但是,依靠UI确定应用程序状态不是一个好主意。

例如:您很可能在视图控制器中以某种数据结构存储了批注列表(我猜是一个数组)。这种数据结构应该成为事实的来源。

以您为例,要确定地图上是否已存在Annotation,请检查提供给mapview的Data结构是否包含注释并继续。