从NSExpression分配给MGLStyleValue的指针类型不兼容

时间:2018-06-07 12:10:08

标签: ios mapbox polyline

我在我的应用中实现了MAPBOX。我有问题来自定义折线颜色和宽度。这是我实现的代码。

MGLPolyline *polylineFirst = [MGLPolyline polylineWithCoordinates:routeCoordinates count:routeFirst.coordinateCount];

MGLShapeSource *source = [[MGLShapeSource alloc] initWithIdentifier:@"polyline" shape:polyline options:nil];
MGLLineStyleLayer *lineStyle = [[MGLLineStyleLayer alloc] initWithIdentifier:@"polyline" source:source];

lineStyle.lineColor = [NSExpression expressionForConstantValue:[UIColor yellowColor]];
lineStyle.lineWidth = [NSExpression expressionForConstantValue:@5];

[self.mapView.style addSource:source];
[self.mapView.style addLayer:lineStyle];

enter image description here

1 个答案:

答案 0 :(得分:2)

在v4.0中,表达式已替换style functions,看起来您使用的是早期版本的Maps SDK。

与您的代码等效的样式函数将是:

   lineStyle.lineColor = [MGLStyleValue valueWithRawValue:[UIColor yellowColor]];
   lineStyle.lineWidth = [MGLStyleValue valueWithRawValue:@5];

您可能会发现this sample code有帮助。