如何使用mapbox-ios添加“大于符号”的线型(例如:>>>>)

时间:2019-08-21 09:26:02

标签: mapbox mapbox-ios

我需要一条指点线来告诉某人一条线的顺序。

我使用来自mapbox-ios的MGLLineStyleLayer添加了虚线样式(示例:----) 但是我不知道它是否支持(>>>>)样式或箭头(---> ---),请告诉我该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用MGLineStyleLayer.linePattern属性来创建带有箭头的线。

首先,使用您要使用的图案(在这种情况下,是带有箭头的线)创建一个UIImage。然后使用[MGLStyle setImage:forName]将图像添加到您的样式中。然后可以将该图像用作线条图案。

    func mapView(_ mapView: MGLMapView, didFinishLoading style: MGLStyle) {
        if let image = UIImage(named: "arrow.png") {
            style.setImage(image, forName: "arrow")
            let source = MGLShapeSource(identifier: "polyline", shape: shapeFromGeoJSON, options: nil)
            style.addSource(source)

            let layer = MGLLineStyleLayer(identifier: "polyline", source: source)
            layer.linePattern = NSExpression(forConstantValue: "arrow")
            layer.lineWidth = NSExpression(forConstantValue: 10)
            style.addLayer(layer)
        }
    }