从 GMSMapView 中删除所有 GMSMarker?

Posted

技术标签:

【中文标题】从 GMSMapView 中删除所有 GMSMarker?【英文标题】:Remove all GMSMarker from GMSMapView? 【发布时间】:2013-12-07 07:17:09 【问题描述】:

我在 GMSMapView 上放置了 100 个 GMSMarkers。如何删除所有 GMSMarkers?

在适用于 ios 的 Google Sdk 版本 1.6 中。

将保存 GMSMarkers 列表的标记数组(在 GMSMapView (Overlays) 文件中)已弃用。通过使用它,我从 GMSMapView 中删除了所有 GMSMarker。

有没有其他方法可以从 iOS 中的 GMSMapView 中删除所有 GMSMarker?

【问题讨论】:

【参考方案1】:

使用[mapView clear] 来实现所需的功能。 :-)

更新:

斯威夫特:

mapView.clear()

【讨论】:

【参考方案2】:

他们弃用了这些方法,但您可以使用 [mapView clear] 从地图中删除所有叠加层。这包括所有标记、折线和groundOverlays。

希望对你有帮助!

【讨论】:

如果您只想删除标记而不是折线和groundOverlays,该怎么办。有没有办法获取添加的标记列表?【参考方案3】:

将所有标记添加到 NSMutableArray 中,就像您将它们添加到地图中一样。然后,当您需要删除它们时,遍历数组并将每个标记的 .map 属性设置为 nil。

【讨论】:

【参考方案4】:

Swift 5.x

如果有人只想清除特定的marker,那么您可以使用这个:

marker.map = nil

如果您想从地图中删除所有内容,例如 polylinemarker 等,那么您可以使用

self.mapView.clear().

它会清除地图上的一切。

【讨论】:

【参考方案5】:

Swift 4.x

self.mapView.clear()

【讨论】:

【参考方案6】:

试试.....

[self.MapView clear];

【讨论】:

以上是关于从 GMSMapView 中删除所有 GMSMarker?的主要内容,如果未能解决你的问题,请参考以下文章

如何从内存中卸载 GMSMapView?

在 GMSMapView 上确定适当的缩放级别以适合所有需要的位置?

如果从 Storyboard 添加约束,则 GMSMapView 不显示任何内容

GMSMapView:如何管理内存?

如何在iphone中获取gmsmapview的坐标中心

有啥办法可以暂时隐藏蓝点,然后让它在 GMSMapView 中再次消失?