Swift 3:如何在 Google 地图中删除跟踪的折线

Shi*_*ung 3 google-maps polyline swift3

我已经绘制了折线,但我不知道什么编码可以删除谷歌地图中的跟踪折线。我正在尝试在下面进行一些编码。


这是行不通的。

var polyline = GMSPolyline()
   polyline.map = nil 
Run Code Online (Sandbox Code Playgroud)

这正在努力删除跟踪的多段线,但是当我制作标记并点击它时,标记无法播种信息窗口。

mapView.clear()
Run Code Online (Sandbox Code Playgroud)

谢谢

Shi*_*ung 6

解决方案:

  1. 创建折线:通过 GoogleMapsAPIs 教学折线
  2. 创建变量 oldPolylineArr/oldPolyline 类型 GMSPolyline/GMSPolyline_Array
  3. 将折线存储到旧折线
  4. 删除多段线

样本编码:

//Step 1:
var mapView = GMSMapView()
let path = GMSMutablePath()
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.0))
path.add(CLLocationCoordinate2D(latitude: 37.45, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.2))
path.add(CLLocationCoordinate2D(latitude: 37.36, longitude: -122.0))
let rectangle = GMSPolyline(path: path)

//Step 2:
var oldPolylineArr = [GMSPolyline]()
Run Code Online (Sandbox Code Playgroud)

大批

//Step 3:
oldPolyline.append(rectangle)

//Step 4:
for p in (0 ..< oldPolylineArr.count) {
    oldPolylineArr[p].map = nil
}
Run Code Online (Sandbox Code Playgroud)

不是数组

//Step 3:
oldPolyline = polyline

//Step 4:
oldPolyline.map = nil
Run Code Online (Sandbox Code Playgroud)