簡體   English   中英

Mapbox iOS SDK折線,快速3

[英]Mapbox iOS SDK polyline, swift 3

帶有swift 3.0的Mapbox SDK不會繪制折線。

(Swift 2.3工作正常)

Swift 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-經度:552750D000000 37.609442999999999-經度:55.750495000000001▿3:CLLocationCoordinate2D-緯度:37.609763000000001-經度:55.751038999999999▿4:CLLocationCoordinate2D-緯度:37.609966999999997-經度:55.751409000000002▿5:CLLocationCoordinate2D-緯度:37.6101239610。經度: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)
    }
}

已通過pod更新(從Mapbox 3.3.5到3.3.6版本)修復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM