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)
}
}
ポリラインの値を設定してshowRoute()を呼び出すコードを追加できますか? – picciano
@piccianoでは、ポリラインの値が矩形で追加され、補完ハンドラに入れられました。後でそれはちょうどそのようなビューに移動します:self?.routeService.getRoute(coordinatesArray:coordinate、complection:{[weak self] polyline in self?.output.showRoute(ポリライン:ポリライン) }) –