Swift 3: How to remove the tracked polyline in Google map

前端 未结 3 1381
忘掉有多难
忘掉有多难 2020-12-21 15:33

I have draw the polylines, but I don\'t no that what coding can remove the tracked polyline in the google map. I\'m trying some coding in below.


this is no wor

相关标签:
3条回答
  • 2020-12-21 15:40

    Solution:

    1. create polyline: teaching polyline by GoogleMapsAPIs
    2. create variable oldPolylineArr/oldPolyline type GMSPolyline/GMSPolyline_Array
    3. store the polyline to the oldPolyline
    4. remove the polyline

    Sample Coding:

    //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]()
    

    Array

    //Step 3:
    oldPolyline.append(rectangle)
    
    //Step 4:
    for p in (0 ..< oldPolylineArr.count) {
        oldPolylineArr[p].map = nil
    }
    

    is NOT Array

    //Step 3:
    oldPolyline = polyline
    
    //Step 4:
    oldPolyline.map = nil
    
    0 讨论(0)
  • 2020-12-21 15:51

    Maybe a better solution: define your routePolyline as an optional variable then each time you want assign it a path, check it with if let... and set map to nil

    if let routePolyline = routePolyline {
            routePolyline.map = nil
        }
    
    // create new polyline
    let path: GMSPath = GMSPath(fromEncodedPath: p)!
    routePolyline = GMSPolyline(path: path)
    routePolyline?.map = mapView
    
    0 讨论(0)
  • 2020-12-21 16:00

    Below is the approach to remove travelled polyline from google map iOS Swift:

    var oldPolyLines = [GMSPolyline]() /* Global Array Variable of your Class */
    

    Put below code where you are parsing routes and getting new polyline from direction API.

    if self.oldPolyLines.count > 0 {
        for polyline in self.oldPolyLines {
            polyline.map = nil
        }
    }
    self.oldPolyLines.append(yourNewPolyline)
    yourNewPolyLine.map = self.mapView
    
    0 讨论(0)
提交回复
热议问题