MGLPolyLine颜色更改无效-Swift 4,Mapbox

时间:2019-02-09 19:42:46

标签: ios swift swift4 mapbox mglmapview

当我尝试更改MGLPolyline的颜色时,应用程序崩溃并打印此致命错误(这也需要我:

  

断言失败:(r_ <= 1.0f),函数颜色,文件/Users/distiller/project/include/mbgl/util/color.hpp,第18行。

我正在使用Mapbox。这是我用来更改颜色的代码:

//Colors:
let orangeColor = UIColor(red: 253, green: 70, blue: 2, alpha: 100)
let purpleColor = UIColor(red: 101, green: 0, blue: 141, alpha: 100)
let redColor = UIColor(red: 254, green: 0, blue: 0, alpha: 100)
let pinkPurpColor = UIColor(red: 193, green: 6, blue: 245, alpha: 100)
let pinkColor2 = UIColor(red: 254, green: 0, blue: 131, alpha: 100)

func mapView(_ mapView: MGLMapView, strokeColorForShapeAnnotation annotation: MGLShape) -> UIColor {

    let arrayOfColors = [pinkColor2, pinkPurpColor, redColor, purpleColor, orangeColor]

    let randomIndex = Int(arc4random_uniform(UInt32(arrayOfColors.count)))

    return arrayOfColors[randomIndex]
}

1 个答案:

答案 0 :(得分:1)

值<1除以255。

Swift 4.2

您可以尝试使用此代码

let orangeColor = UIColor(red: 253/255, green: 70/255, blue: 2/255, alpha: 1)