我在我的应用程序中实现了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];


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

最佳答案

在v4.0中表达式已替换为style functions,似乎您正在使用Maps SDK的早期版本。

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

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


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

10-05 20:21