从 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
如果您想从地图中删除所有内容,例如 polyline
、marker
等,那么您可以使用
self.mapView.clear()
.
它会清除地图上的一切。
【讨论】:
【参考方案5】:Swift 4.x
self.mapView.clear()
【讨论】:
【参考方案6】:试试.....
[self.MapView clear];
【讨论】:
以上是关于从 GMSMapView 中删除所有 GMSMarker?的主要内容,如果未能解决你的问题,请参考以下文章
在 GMSMapView 上确定适当的缩放级别以适合所有需要的位置?