2017-06-08 22 views
0

ポリラインを描いていますが、Googleマップでトラッキングされたポリラインをどのようにコーディングすることができますか? 私は以下にいくつかのコーディングを試みています。Swift 3:Googleマップでトラッキングされたポリラインを削除する方法


これは機能しません。

var polyline = GMSPolyline() 
    polyline.map = nil 

この追跡ポリラインを削除するために取り組んでいるが、私はマーカーを集約し、それをタップしてるとき、マーカーは、情報ウィンドウの種をまくことができません。

mapView.clear() 

あなた

+0

に、オプションの変数として、あなたはそれをパスを割り当てたいし、各時間をあなたのroutePolylineを定義できた場合にそれを確認...と設定されたマップ 'mapview.clear( ) 'ポリライン、マーカー、オーバーレイを削除しますので、' mapview.clear() 'を呼び出した後に再度マーカーにマーカーを追加する必要があります –

+0

もっとコードを共有する必要があります –

+0

ループコードでは、 x == 1){'ブロックはあなたの範囲が' 0 .. <1'であり、またclearを呼び出した後、再び地図上にマーカーを追加するコードはありません。 –

答えて

1

ソリューションありがとう:oldPolyline

  • 削除するにはteaching polyline by GoogleMapsAPIs
  • を変数を作成oldPolylineArr/oldPolylineタイプGMSPolyline/GMSPolyline_Array
  • 店舗ポリライン:

    1. ポリラインを作成しますポリライン

    サンプルコーディング:

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

    アレイ

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

    は、Array

    //Step 3: 
    oldPolyline = polyline 
    
    //Step 4: 
    oldPolyline.map = nil 
    
    ではありません
  • 0

    多分よりよい解決策: がnil

    if let routePolyline = routePolyline { 
         routePolyline.map = nil 
        } 
    
    // create new polyline 
    let path: GMSPath = GMSPath(fromEncodedPath: p)! 
    routePolyline = GMSPolyline(path: path) 
    routePolyline?.map = mapView 
    
    関連する問題