ios - 从 GMSMapView 中移除 GMSPolyline

标签 ios google-maps google-maps-api-3 google-maps-sdk-ios

我正在使用 GoogleMap-IOS-1.8.1 SDK 来显示 map 。我必须在 map 上绘制一条 GMSPolyline。在特定事件之后,我必须删除除标记之外的所有 GMSPolyline 路径。我不确定最好的方法。 适用于 iOS 的 GoogleMaps 文档描述了两种起诉方法。

 1. [mapView_ clear];
 2. Set the GMSPolyline map property to nil

这里第一种方法也删除了所有标记和叠加层。这不是我想要的。 对于第二个,保存所有 GMSPolyline 对象引用然后返回并将它们全部设置为 nil 似乎不是最佳方法。

是否有更好的方法来完成这项任务,或者这是唯一正确/正确的方法吗?

我希望得到类似下面的东西。

for (GMSPolyline *polylineToremove  in mapView_.polyline)
{
    [mapView_ removeOverlay:overlayToRemove];
}

最佳答案

您确实需要按照您所说的去做 - 存储对您添加的所有多段线的引用(例如在数组中),然后遍历它们并设置它们的 map 属性为零。

关于ios - 从 GMSMapView 中移除 GMSPolyline,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25102778/

相关文章:

ios - 使用 grand central dispatch 下载 UIImage

ios - 从NSArray获取行

ios - 如何阻止 Avaudiosesion 停用?

ios - 为什么 UIView 在 offsetBy 上向右移动

javascript - Google.maps.api、JavaScript;同时移动多个多边形的顶点

android - 单击 map 标记添加 fragment 列表

java - Android:覆盖 Google map v2 最大缩放

google-maps - 使用 jquery 调整 Google Maps api v3 DIV 的大小 - 图 block 无法正确刷新

ios - 在给定位置的边界内查找位置

css - 在 webkit 浏览器中,v3 谷歌地图不遵守容器的边界半径。有人有解决方法吗?