2016-11-14 12 views
0

swift 3.0のMapbox SDKはポリラインを描画しません。Mapbox iOS SDKポリライン、swift 3

(ファインスウィフト2.3作品)

スウィフト3バージョン:完了ハンドラメソッドで

for coord in coordsArray! { 

        let lat = coord.array?.first?.double 
        let lon = coord.array?.last?.double 

        let point = CLLocationCoordinate2D(latitude: lat!, longitude: lon!) 

        coordsArrayValues.append(point) 
       } 
       completionHandler(coordsArrayValues) 

:ここ

var rectangle: MGLPolyline? 

    var coordsArrayValues = coordinatesArray 

    // draw a route 

    rectangle = MGLPolyline(coordinates: &coordsArrayValues, count: UInt(coordsArrayValues.count)) 

    if let rectangle = rectangle { 
     complection(rectangle) 
    } 

は、デバッガがMGLPolylineとcoordsArrayValues程度にこう言われる、 ( lldb)po coordsArrayValues ▿8要素 ▿0:CLLocationCoordinate2D - 緯度:37.609333999999997 - 経度:55.750295000000001 ▿1:CLLocationCoordinate2D - 緯度:37.609400999999998 - 経度:55.750410000000002 ▿2:CLLocationCoordinate2D - 緯度:37.609442999999999 - 経度:55.750495000000001 ▿3:CLLocationCoordinate2D - 緯度:37.609763000000001 - 経度:55.751038999999999 ▿4:CLLocationCoordinate2D - 緯度:37.609966999999997 - 経度:55.751409000000002 ▿5:CLLocationCoordinate2D - LATI tude:37.61 - 経度:55.751694000000001 ▿6:CLLocationCoordinate2D - 緯度:37.610168000000002 - 経度:55.751823999999999 ▿7:CLLocationCoordinate2D - 緯度:37.610219999999998 - 経度:55.751918000000003 、

私はそれを呼び出す後に:

self?.routeService.getRoute(coordinatesArray: coordinates, complection: { [weak self] polyline in 
      self?.output.showRoute(polyline: polyline) 
     }) 
のViewControllerで

それは単に注釈として追加されます。

func showRoute(polyline: MGLPolyline) { 
    DispatchQueue.main.async { [weak self] in 
     self?.mapView.addAnnotation(polyline) 
    } 
} 
+0

ポリラインの値を設定してshowRoute()を呼び出すコードを追加できますか? – picciano

+0

@piccianoでは、ポリラインの値が矩形で追加され、補完ハンドラに入れられました。後でそれはちょうどそのようなビューに移動します:self?.routeService.getRoute(coordinatesArray:coordinate、complection:{[weak self] polyline in self?.output.showRoute(ポリライン:ポリライン) }) –

答えて

0

ポッドのアップデートで修正された(Mapboxから3.3.5バージョン3.3.6へ) 。